본문 바로가기

나의 플랫폼

[Android] Robolectric 사용 중인지 체크 val isRoboUnitTest: Boolean = "robolectric" == Build.FINGERPRINT 이렇게 만들어서 사용하면 된다!! 라고만 하고 싶지만.. 테스트 코드에 이건 Robolectric을 사용한다고 명시를 해줘야 한다. @RunWith(RobolectricTestRunner::class) class SomeTest { @Test fun test() { ... } } 그럼 체크가 가능해 진다. 혹시나 하나 더 참고 사항으로 아래와 같은 Socket 에러를 보시는 분... java.io.IOException: socket not created at android.net.LocalSocketImpl.bind(LocalSocketImpl.java:305) at android.net... 더보기
[번역] Android Architecture Components 사용시 5가지 일반적인 실수 출처 : https://proandroiddev.com/5-common-mistakes-when-using-architecture-components-403e9899f4cb 5 common mistakes when using Architecture Components Subtle oversights with more or less serious consequences - even if you’re not making these mistakes it should be worth keeping them in… proandroiddev.com 다소 심각한 결과를 초래하는 미묘한 실수 - 심지어 이러한 실수를 하지 않더라도 향후 어떤 문제가 발생 향후 발생할 가능성이 있기 때문에 기억할만한 가치가 있다. 글 목.. 더보기
[Android][DI] ViewModel onCleared 함수가 호출 되지 않을 때 Android Architecture Component 라이브러리에서 제공하는 ViewModel 클래스에서 onCleared라는 함수를 override 할 수 있습니다. 이 함수에서 ViewModel이 라이프사이클에서 종료가 되었을 때 호출 되어 불필요한 메모리를 초기화 시킵니다. (CompositeDisposable를 정의하여 onCleared 함수에서 clear를 시키기도 하죠.) 그런데 이상하게 ViewModel을 생성한 Activity나 Fragment를 종료 시켰는데 onCleared 함수가 호출이 되지 않을 때가 있다. 그럼 아래 두 가지를 테스트 해봐라. 1. Android Support 라이브러리 버전 확인 Android Support 라이브러리 버전이 27.1.0 이하일 경우 onClea.. 더보기
[Android] Android Architecture 공유 https://proandroiddev.com/android-architecture-d7405db1361c Android Architecture 🏗 A Journey Looking For The Perfect Design proandroiddev.com 보신 분들도 있을지 모르지만, 개인적으로 최신 기술을 잘 이용하여 잘 모듈화되어 있는 Architecture 샘플이라고 생각합니다. Koin이나 Coroutine 같은 최신 기술을 이용하였고, 요즈음 관심이 많은 Multi Module화를 시켰으며 kotlin-dsl로 빌드가 되어 있습니다. 이 샘플 소스를 하나에 최신 트렌드가 다 포함 되어 있습니다. 관심 있으신 분들은 한번 보시면 좋을 듯 합니다. 더보기
[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의 지정된 입력란과 앱 내에서 유효한 개인정보 취급방침을 기입해주시기 바랍니다.귀하의 앱을 제출하여 검토를 받으려면 다.. 더보기