본문 바로가기

나의 플랫폼/안드로이드

[Android] MacOS에서 갑자기 키보드가 동작을 하지 않을 때 MacOS에서 Android Studio를 사용할 때, 갑자기 키보드가 먹통이 되는 현상이 발생 되었다. 무어지??? 원인을 검색해보니 특수문자를 지원해주는 'hold down key' 기능이 MacOS에서 자동적으로 바꿔서 생기는 일이다. 이 기능을 disable 시키는 방법은 terminal을 열어서 아래와 같이 입력만 하면 된다. defaults write -g ApplePressAndHoldEnabled -bool false 참고하세요. 참고 : https://stackoverflow.com/a/53938438 Keyboard get disabled on Android Studio on Mac While coding sometimes I have to press the undo keyboard s.. 더보기
[Android] 구글 맵에서 갑자기 팅길 때 다른 폰에선 잘 되는데 특정 폰에서 구글맵이 팅기는 현상이 있으신 분은 참고 하세요. 저 같은 경우 아래와 같은 이슈가 발생 했었네요. ( 갤럭시 노트8 이었습니다.) java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path 확인 해보니 라이브러리 버그라고 하더군요. 역시나 정보가 있더군요. https://stackoverflow.com/a/54654613 Android Google maps java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion I am using Google maps Andro.. 더보기
[Android] Cannot resolve symbol 'AndroidJUnit4' Android 테스트를 하기 위해서 Espresso를 이용하죠. dependency도 설정 했고 다시 Gradle을 받아봐도 혹시 espresso 패키지를 찾을 수 없을 경우!! Build Variants를 'release' 에서 'debug'로 바꿔 보세요. 그럼 다시 test 패키지를 이용할 수 있을 겁니다. 참고하세요. https://stackoverflow.com/a/37371171 더보기
귀하의 앱은 Android 광고 ID 사용 및 개발자 배포 계약의 4.8 조항을 위반하였습니다. xxx 개발자님, 안녕하세요.앱 이름(패키지명) 을(를) 검토한 결과 정책 위반으로 Google Play에서 앱이 삭제되었습니다. 귀하의 앱은 정책을 따르는 업데이트를 제출할 때까지 사용자에게 제공되지 않습니다.귀하의 앱은 Android 광고 ID 사용 및 개발자 배포 계약의 4.8 조항을 위반하였습니다.귀하의 앱이 개인정보나 기기정보를 다룬다면 개발자님은 유효한 개인정보 보호정책을 제공해 주셔야 합니다. 앱이 개인정보 취급방침 요구사항의 적용을 받는 Android 광고 식별자를 수집하고 전송하는 것으로 확인되었습니다. 앱이 Android 광고 ID를 수집하는 경우 Play Console의 지정된 입력란과 앱 내에서 유효한 개인정보 취급방침을 기입해주시기 바랍니다.귀하의 앱을 제출하여 검토를 받으려면 다.. 더보기
[Android] Firebase 구글 로그인 시, ApiException 12500 Firebase를 이용한 구글로그인은 참 편한 기능이다.관리하기도 편하고 아주 쉽다. 그래서, 간단하게 샘플 소스만으로 개발을 할 수 있다.샘플 소스는 아래 경로에서 받으면 된다. https://github.com/firebase/quickstart-android 구글 로그인은 구글 가이드가 잘 되어 있다.https://firebase.google.com/docs/auth/android/google-signin?hl=ko 정말 가이드 대로 하면 문제 없이 테스트를 할 수 있다. 하지만!혹시나 샘플 소스에 google-services.json 파일도 설정 하고, 구글 Firebase 콘솔에서도 설정을 다 했는데,아래와 같은 오류를 본적이 있으신 분은.. ApiException 12500 구글 Firebas.. 더보기
[Android Weekly][#344] 효율적인 LiveData와 ViewModel 테스팅 원본 : https://android.jlelse.eu/effective-livedata-and-viewmodel-testing-17f25069fcd4 Architecture Components 와 그것들을 실행할 방법에 관해 써놓은 글이 많이 있고, 테스트 능력을 향상 시켜줄 혜택 중 하나를 가지고 있다. 자 그럼, 실제로 어떻게 향상시키지? 한번 살펴 보자. Architecture Components는 Google I/O 2017에서 소개되어 졌고, 그것들은 Android 개발 세계에서 뚜렷한 향상을 의미 했다. 수 년을 걸쳐 익힌 최고의 연습들은 대부분의 공통된 문제들이 바뀌어졌고, 탄탄한 가이드(opinionated guide)를 나오게 했다. View와 ViewModel은 LiveData를 통하.. 더보기
[Android] Preferencefragment deprecated 설정 화면을 개발할 때, PreferenceFragment를 많이 사용 했습니다. PreferenceActivity에 PreferenceFragment를 설정하는 형태 였죠. class SettingsActivity : PreferenceActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) fragmentManager.beginTransaction() .replace(android.R.id.content, SettingFragment()) .commit() } class SettingFragment : PreferenceFragment() { override fun onCreat.. 더보기
[Android Studio] [Kotlin] Wild param 방지 ktlint에서 검증을 할 경우 wild param을 사용하지 말라고 되어 있지만,그게 하고 싶어서 하는게 아니라 자동으로 import를 시키면IDE에서 알아서 Wild Param을 넣어버린다. Wild param은 아래와 같이 import를 *로 묶어서 사용한 경우를 말합니다. Android Studio에서 Wild Param을 방지하는 방법을 공유하고자 합니다. 1. Android Studio -> Prefrences 탭을 연다. 2. Editor -> Code Style -> Kotlin3. 아래 화면 같이 Use impor with '*' when at least 100 names used 로 설정 위와 같이 설정 하면 적어도 100개 이상 똑같은 패키지에서 import를 할 시 Wild Para.. 더보기