본문 바로가기

나의 플랫폼/안드로이드

[Android][Kotlin] Databindg과 Kotlin 사용 시 Android 에서 제공해주는 Databinding을 Kotlin으로 사용하고자 할 경우,빌드에서는 에러가 발생합니다. Error:Execution failed for task ':app:compileDebugJavaWithJavac'. Unresolved reference: databinding Error:Execution failed for task ':app:compileDebugKotlin'. 위와 같은 에러가 발생 할 경우 아래와 같이 수정해보세요. /build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_.. 더보기
[Android] image-chooser-library FileUriExposedException 앱에서 카메라나 이미지 파일 접근을 할 때 아래 Library를 사용하시는 분들이 있으실 겁니다. https://github.com/coomar2841/image-chooser-library 위 라이브러리를 사용했는데 아래와 같은 에러가 발생 할 경우가 있습니다. FileUriExposedException: android.os.FileUriExposedException: file:///storage/emulated/0/AppName/AppName%20Pictures/061aafec-0acd-488d-b8b0-c7d5fb8c152a.jpg exposed beyond app through ClipData.Item.getUri() 위와 같이 FileUriExposedException 에러가 발생 한다.어떻게 .. 더보기
[Android] SSL Disable 시키기 (Retrofit2, OkHttp3) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384private RetrofitBuilder(Context context, String url) { builder = new Retrofit.Builder() .baseUrl(url) .addConverterFactory(GsonConverterFactory.create()) .client(getUnsafeOkHttpClient(context, token, SysUtils.getVersionName(context))) .bui.. 더보기
[Android] missing translation error apk를 release 시키는 missing translation error 발생 할때가 있다. AppName 그럴땐 위 소스와 같이 resource 태그에 2줄만 추가 하면 된다. 참고로 모든 strings.xml 파일에 2줄을 추가 해야만 한다.그렇지 않으면 계속 에러가 발생 할 것이다. 다른 방법을 원하시는분들은 아래 블로그를 참고 하세요.출처 : https://blog.asamaru.net/2015/11/05/android-is-not-translated-in-dot-dot-dot-lint-error/ 더보기
[Android] android:launchMode="singleTask" 사용 시 발생하는 문제점 앱 실행 시 첫 화면을 위와 같이 설정하시는 분들이 많을 꺼라 생각 됩니다.머 다들 이해하시겠지만, android:launchMode="singleTask" 요놈이 제법 골치꺼리 더라구요. 아마 singleTask를 화면이 Activity를 유일한 Task에 하나만 띄우기 위해서 많이 사용하시는 듯 합니다만,위와 같이 설정 할 경우 아래와 같은 문제가 생기네요. 1. Task 목록이 아닌 App 아이콘으로 실행 시, 무조건 Main 화면이 실행 된다. -> 즉, 기존에 Task Stack에 쌓여 있는 화면들은 무시가 되는 거죠. 2. onActivityResult가 호출이 안된다고 합니다. -> startActivityForResult를 이용하여 결과를 받을 수 없다는 의미죠. 참고 : http://jw.. 더보기
[Android] 특정 화면 잠금 해제 특정 화면이 동작하고 있을 때나 어떤 이벤트를 진행 했을 때,화면을 자동 잠금 모드로 바뀌는 것을 막을 수 있는 방법을 공유 하고자 한다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); ... } 위와 같이 FLAG_KEEP_SCREEN_ON 을 넣어주면 된다. 혹시나 FLAG_KEEP_SCREEN_ON만 넣었는데 안되시는 분들은 위 소스 같이FLAG_TRUN.. 더보기
[Android] Error:Failed to resolve: com.google.android.gms:play-services-measurement Error:Failed to resolve: com.google.android.gms:play-services-measurement: Version google play service를 업데이트 할 때 위와 같은 오류가 나오고 빌드가 되지 않을 때가 있다. 이럴 경우는 'com.google.gms:google-services' 버전이 맞지 않아서 발생 한다. 예를 들어 아래와 10.2.6 버전(현재 최신 버전)으로 업데이트를 하고자 할경우, compile 'com.google.android.gms:play-services-base:10.2.6' compile 'com.google.android.gms:play-services-ads:10.2.6' compile 'com.google.android.gms:.. 더보기
[Android] 구글플레이에 등록된 앱 버전 확인 https://github.com/rampo/UpdateChecker 위 라이브러리를 쓰면 구글 플레이에 등록된 앱 버전을 넘겨 받을 수 있다... 어떻게 그럴수가 있지??? 해서 소스를 봤더니... 구글 플레이 앱 페이지에서 크롤링하듯이 앱 정보만 빼온 것이었다. 라이브러리 에서 아래 소스 위치를 찾는다. itemprop="softwareVersion"> 이 부분이 현재 앱 등록 버전을 보여주는 div 태그 위치 이다. 이 위치에 있는 버전을 사용 할 수 있는 것이다. 아래는 Vingle 앱 페이지에 소스 한 부분이다. 현재 버전 3.3.4 하지만!! 문제점이 있다. 기기 버전에 따란 APK를 다양하게 올릴 수도 있다.그런 앱같은 경우 위 로직으로는 파악 할수 없다. 아래와 같이 '기기에 따라 다릅니다.. 더보기