Android 9

[안드로이드] EditText 모양 바꾸기 및 선택시 모양 변경

안드로이드에서 EditText 의 모양을 바꾸고 싶을 때가 많습니다. 최근의 안드로이드에서는 EditText의 기본적인 모양이 테마에 의해 일반적으로 언더바 형태이죠. 여기서는 약간 코너에 라운드가 있는 사각형의 모양으로 바꿀겁니다. 또한 선택되었을 때 (포커스가 잡혀 있을때) 사각형의 색상도 바꿔줄 것입니다. (변경전) (변경후) 1. res/drawable 에 xml 파일 하나 추가 res/drawable 에 EditText의 모양을 지정할 적당한 이름의 xml 파일을 추가합니다. 여기서는 edittext_rounded_corner_rectangle.xml 이라고 하겠습니다. 2. 아래의 샘플과 같은 요령으로, 원하는 형태의 EditText 형태를 작성합니다. 3. 모양의 변경을 원하는 EditTex..

[안드로이드] java.lang.ClassNotFoundException ad.loadClass 비정상 종료 해결하기

올해들어 갤럭시 시리즈가 안드로이드 9 (파이)로 업데이트 되고 있습니다.저는 가능한한 매일 Play Console 앱에서 구글플레이에 올려 놓은 앱의 상태를 확인하고 있는데요...제 앱 하나가 평소에 비정상 종료가 거의 없던 앱인데 최근 72시간 내에 비정상 종료 수가 5건이나 있다고 나타납니다.내용을 자세히 살펴보니, Android 9 버전에서 구동된 앱의 ad.loadClass 에서 java.lang.ClassNotFoundException 예외가 발생했다고 하네요.ad.loadClass 이면 애드몹에서 발생한 것으로 보여집니다. 인터넷을 검색해 보니 해결 방법은 의외로 간단합니다.아래 내용을 AndroidManifest.xml 의 application 태그 안에 추가해 줍니다. 일단 API Lev..

[코틀린 레퍼런스 번역] 시작하기 - 관용표현 (Idioms)

[코틀린 레퍼런스 번역]시작하기 - 관용표현 (Idoms) 원문 : Kotlin 공식 사이트 Reference : Getting Started - Idioms번역 : 날개코더 이글은 코틀린 공식 웹사이트의 레퍼런스를 번역(의역)한 글이며, 원글은 Apache 2 license를 따르고 있습니다.이 번역글은 자유롭게 링크를 허용합니다. 하지만 그대로 복사하여 자신이 쓴 글인것처럼 블로그나 웹사이트등에 게제 하는 것은 허용하지 않습니다.내용상 의미가 쉽게 이해되도록 변경한 부분들도 있으며, 의미가 불분명한 부분을 주석을 달아 놓았습니다.이글을 쓸 당시, 기반이 되는 코틀린의 버전은 1.3입니다. 본 글에서 링크들은 번역된 글이 있으면, 번역된 글로, 아직 번역이 되지 않은 글에는 원문을 링크하였습니다. 코틀..

[코틀린 레퍼런스 번역] 시작하기 - 기초 문법

[코틀린 레퍼런스 번역] 시작하기 - 기초 문법 (Basic Syntax) 원문 : Kotlin 공식 사이트 Reference : Getting Started - Basic Syntax번역 : 날개코더 이글은 코틀린 공식 웹사이트의 레퍼런스를 번역(의역)한 글이며, 원글은 Apache 2 license를 따르고 있습니다.이 번역글은 자유롭게 링크를 허용합니다. 하지만 그대로 복사하여 자신이 쓴 글인것처럼 블로그나 웹사이트등에 게제 하는 것은 허용하지 않습니다.내용상 의미가 쉽게 이해되도록 변경한 부분들도 있으며, 의미가 불분명한 부분을 주석을 달아 놓았습니다.이글을 쓸 당시, 기반이 되는 코틀린의 버전은 1.3입니다. 본 글에서 링크들은 번역된 글이 있으면, 번역된 글로, 아직 번역이 되지 않은 글에는 ..

안드로이드 액티비티 애니메이션 없애기

[테스트 환경]기기 OS : Android 8타겟 SDK : API Level 27 안드로이드에서 액티비티를 띄울때, 그리고 없앨때 자동으로 애니메이션이 붙습니다. OS 버전에 따라 차이가 있는데, 페이드 인/아웃 애니메이션을 보여 줄 때도 있고, 좌우로 나타났다 사라지는 경우도 있습니다. 페이드 인/아웃의 경우는 대체로 문제가 되지 않는데, 좌우로 슬라이딩 되며 나타났다 사라지는 경우는, 팝업 용도의 액티비티와 같은 어울리지 않아 어색한 경우가 있습니다. 따라서 이런 경우는 전환 애니메이션을 작동하지 않도록 할 수 있습니다. 검색해 보면 다양한 방법이 소개되어 있지만, 여기서는 코드를 통해 간단하게 애니메이션을 제거해 보겠습니다. (1) 액티비티를 띄울때 애니메이션 없애기 액티비티를 시작하기 위한 인텐..

안드로이드 스튜디오 3.0 정식 출시

현지시간 2017년 10월 25일 구글이 안드로이드 스튜디오 3.0 정식 버전을 출시하였습니다. 2.x 대에서 3.x 대로 업데이트 된 만큼, 큰 변화가 있다고 합니다. 가장 큰 변화는 이미 베타 버전에도 포함이 되어 있었지만, 코틀린 (Kotlin) 이라는 프로그래밍 언어를 정식으로 지원한다는 것이죠. 코틀린은 젯브레인에서 만든 언어이며 오픈소스로 제공되고 있습니다. 최신 언어 답게 최신 언어 트렌드에서 추구하는 기능들이 수용되어 있고, 자바에 비해서 매우 효율적인 프로그래밍이 가능하다고 합니다. (또한 iOS와 맥 개발자들이 사용하는 스위프트 (Swift)와도 비슷한 면이 많다고 하네요. 둘 다 최신 언어이다 보니...) 해당 언어에 관한 내용은 https://developers-kr.googlebl..

구글, 안드로이드 스튜디오 1.0 정식 버전 공개!

드디어 구글이 약 2년간의 시험기간(알파, 베타, RC)을 끝내고, 2014년 12월 9일자로 정식 안드로이드 스튜디오(Android Studio) 1.0 정식 버전을 출시했습니다. 안드로이드 툴즈 프로젝트 사이트에 의하면, (http://tools.android.com/recent/androidstudio10released) '2년간의 개발 기간 이후, 마침내 안드로이드 스튜디오 1.0을 릴리즈 하였음을 소개하게 되어 매우 행복하다'고 전했습니다. 안드로이드 스튜디오는 IntelliJ IDEA Community 에디션을 기반으로 만들어졌으며, 매니아 층에서는 구글에서 지원해 주기 전에도 인텔리J IDEA의 편리함 때문에 사용하는 유저들이 있었다고 합니다. 그동안 베타 버전임에도 불구하고 이클립스에서 안..

Cocos2d-x 3.0 beta 안드로이드 빌드하기

지난번에, Cocos2d-x 3.0 베타의 프로젝트 생성 방법을 살펴봤습니다. (링크 : http://www.wingsnote.com/27) 이번 글에서는 안드로이드 빌드 하는 방법을 살펴봅니다. iOS의 경우에는 너무 간단해서 설명하지 않아도 될 것 같습니다. 그냥 생성된 프로젝트 디렉터리 중, 'proj.ios_mac' 디렉터리 내의 .xcodeproj만 XCode에서 열먼 모든게 끝나니까요. 안드로이드는, 빌드하는것이 그렇게 간단하지 않습니다. C++로 이루어진 cocos2d-x는 자바 환경이 기본인 안드로이드와는 이질적이기 때문에 NDK도 필요하고, 이클립스도 아무래도 안드로이드 전용 개발툴이 아니다 보니 이것저것 설정을 해 줘야 하거든요. (그래도 지루한 에러와의 싸움은 스트레스를 가중시키네요...

안드로이드 버전별 점유율 확인 방법

바로 전에는 iOS의 버전별 점유율을 알아보는 방법을 살펴 봤습니다. 이번에는 안드로이드의 버전별 점유율을 확인해 보도록 하죠. 사실 iOS의 경우는 애플에서 직접 OS의 업데이트를 배포해서 사용자들이 업데이트를 하기 때문에, 신규 OS의 업데이트 속도와 비율이 상당이 높은 편입니다. 그렇지만 안드로이드의 경우는 넥서스 시리즈등 구글 자체 레퍼런스 장치를 제외하고는 각 제조사에서 업데이트 OS 이미지를 만들어 주어야 하기 때문에, 각 제조사의 정책이나 사정에 따라 업데이트 시기가 각각 다르고, 업데이트가 되지 않는 경우도 있기 때문에, 개발자들이 어느 정도까지 오래된 OS를 지원해야 할지 고민이 깊을 수 밖에 없을 것입니다. 어쨌든, 안드로이드의 경우는 iOS보다 버전별 점유율을 확인하기가 쉬운데요, 구..