안드로이드 OS 알림 설정 확인
21 Nov 2019

Problem안드로이드에서 서버와 앱에서 별도로 푸시 알림을 제어할 수도 있지만, OS 설정을 통해서 푸시 수신여부를 확인할 수도 있다.OS에서 푸시 설정을 꺼놓은 경우 푸시를 수신할 수 있는 방법이 없으므로 사용자에게 어떤 상태인지 안내해줄 필요가 있다.OS에서 푸시 설정 상태를 확인하는 방법을 정리하여 공유한다.Solution아래처럼 OS에서 푸시 설정이 활성화 상태를 확인할 수 있다.NotificationManagerCompat.from(context).areNotificationsEnabled()만약 푸시 사용이...


빌드속도를 높여주는 안드로이드 gradle.properties 설정
16 Nov 2019

Solution# memory allotted to JVMorg.gradle.jvmargs=-Xmx5120m# configure on demandorg.gradle.configureondemand=true# parallel buildsorg.gradle.parallel=true# build Cacheandroid.enableBuildCache=true# gradle cachingorg.gradle.caching=true


네이버 네아로 로그인시 user_cancel 에러 해결 방법
08 Nov 2019

Problem네이버 SDK를 이용하여 로그인을 구현할 때 네이버 앱이 설치되있지 않은 경우에서 로그인 후 “user_cancel” 에러가 나오는 경우가 있었다.재현이 가능한 특정 상황에서 나오는 문제는 아니고 여러번 시도하다보면 가끔 또는 자주 발생하기도 했다.네이버 개발자 포럼을 찾아보니 이와 같은 어려움을 겪고있는 개발자들(1,2, 3)이 많았지만 이상하게도 네이버측에서는 답변이 없었다. 여기에서는 확인해보겠다는 답변이 있지만 아직...


CoordinatorLayout and AppBarLayout Always elevation in Android
22 Jun 2019

Problem안드로이드에서 CoordinatorLayout에 구현된 AppBarLayout의 경우 AppBarLayout가 축소되는 경우 그림자와 함께 elevation 효과가 적용되는데 디자인에 따라 확장된 상태에서도 elevation의 적용이 필요한 경우가 있다.Solution400: Invalid request


Non-Swipeable View Pager in Android
25 May 2019

Problem안드로이드에서 ViewPager와 TabView를 작업할 때, 특정 뷰에서는 swipe 기능을 비활성화 할 필요가 있는데 이때 전체 또는 선택적으로 Non-Swipeable 기능을 적용할 필요가 있다.Solution400: Invalid request


안드로이드 net::ERROR_CLEARTEXT_NOT_PERMITTED 에러 해결방법
28 Apr 2019

Problem안드로이드 P(Android 9.0 (API level 28)) 부터 cleartext를 요청하는 기능이 기본적으로 비활성화 되었다. 타깃 SDK를 28이전으로 사용했다면 상관없지만 업데이트 후 문제가 발생할 수 있다.Solution400: Invalid request





안드로이드 앱 버전 체크, 스토어 연결
24 Jan 2019

Problem앱에서는 현재 앱이 최신 버전인지 여부를 확인할 필요가 있다. 안드로이드 앱 기준으로는 버전코드(Int)가 있어서 이전 버전과의 단순한 숫자 비교로 구분해도 되지만 사용자가 보기에 직관적이지는 않다.또한, 하나의 백엔드 인터페이스를 통해서 iOS와의 버전 확인을 일관성 있게 유지하기 위해서는 버전명(ex: 1.0.0)으로 버전을 확인할 수 있는 방법이 필요하다.작성한 코드는 버전명 1.0.0과 1.0.1을 비교할 때...


Simple to use customizable Android Tooltips
24 Dec 2018

Problem안드로이드 툴팁에 필요한 일반적인 클래스를 작성했다.listener를 추가하면 이벤트 처리 및 여러 툴팁이 순차적으로 보이도록 구현할 수 있다.Solution400: Invalid request


Update your app to comply with Google Play Permissions policy
22 Nov 2018

ProblemHello Google Play Developer,In October, we announced updates to our Permissions policy that will limit which apps are allowed to request Call Log and SMS permissions. This policy will impact one or more of your apps.Only an app that has been selected as a user’s default app for making calls...


An Android text view with change animation
07 Nov 2018

Problem안드로이드에서 TextView를 이용해서 숫자가 바뀌는 애니메이션 효과를 구현하고자 한다. 기존에 https://github.com/robinhood/ticker 같은 훌륭한 라이브러리가 있지만 빠르게 숫자를 전환하는 효과를 구현하지는 못하고 이 라이브러리를 소스를 수정하는데에는도 구조적인 한계가 있었다.Solution400: Invalid requestConclusion단순히 텍스트가 빠르게 바뀌는 효과만을 구현한 것이라 스크롤되는 등 자연스럽게 바뀌지 않는 문제가 있는데 추후 구현으로 남겨둔다.


Resource NotFoundException in Android
07 Nov 2018

Problem구현 안드로이드 4.4.4 이하에서 백터 리소스 포멧을 지원하지 않아서 abc_ic_menu_overflow_material.xml에서 Resource NotFoundException이 발생할 수 있다.Solution여기를 참고하여 setCompatVectorFromResourcesEnabled 를 설정하는 방법도 있지만 그렇게도 해결이 되지 않을 때에는 아래와 같은 문제일 수도 있다.400: Invalid request


Remove trailing zeros in Kotlin
03 Nov 2018

ProblemFloat나 Double 데이터 타입을 String으로 변환 시 1.0 등과같이 정수형이나 1.23000 등 소수점 이하의 범위에서 표현되는 0은 String으로 변환시 표시가 불필요 하기때문에 제거할 필요가 있다. 1.0은 “1”로 1.23000은 “1.23”으로 표시할 방법을 고민해봤다.Solution400: Invalid request


Textview to Drawable on Android
02 Aug 2018

Problem안드로이드에서 TextView 의 내용을 Drawable 객체 또는 Bitmap으로 변환해서 사용해야 하는 경우가 있다. 이런 경우는 드물긴 하는데 제 경우에는 외부 라이브러리를 사용하고 해당 라이브러리 코드가 수정이 어려운 상태에서 Bitmap 객체를 입력으로 사용해야 되는 경우였다.Solution400: Invalid requestConclusion결과적으로 Canvas에 그리는 간단한 코드가 되어버렸지만 해결 방법을 찾는 과정은 쉽지 않았다. 그리고 찾는 과정에서...


안드로이드 APK 분석 방법
31 Jul 2018

ADBADB 파일 경로는 안드로이드 스튜디오를 설치하고 MAC 기준으로 /Users/[USERID]/Library/Android/sdk/platform-tools 에서 확인할 수 있다. 원하는 APK를 얻고자 한다면 스토어 앱을 통해 앱을 설치한 후 아래 과정을 통해 APK를 받을 수 있다.$ adb shell pm list packages -f -3위와 같이 실행하면 연결된 기기에 설치된 앱 들을 경로와 함께 확인할 수 있다. -3...