Android/Error

Android/Error

[Android] contact picker doesn't work on Android 11

오늘 우연히 옆자리에 같이 있는 iOS 개발자분과 앱 인터렉션에 대해서 이야기를 나누는 도중 연락처를 불러오는 기능이 올바르게 동작하고 있지 않는다는 것을 알게 되었어요. (눈물...) val intent = Intent(Intent.ACTION_PICK).apply { data = ContactsContract.CommonDataKinds.Phone.CONTENT_URI } if (intent.resolveActivity(packageManager) != null) { startActivity(intent) } 위 코드는 기기 내에 설치된 연락처 앱을 실행시키는 코드입니다. Android 10 이하에서는 정상 동작하는 것을 확인할 수 있지만 Android 11 버전에서는 아무일도 일어나지 않는 것을 확..

Android/Error

[Android] Snackbar에서 발생하는 ScrollView can host only one direct child

Fatal Exception: java.lang.IllegalStateException ScrollView can host only one direct child Snackbar란 안드로이드에서 사용자에게 메시지를 보여주는 기능이에요. Toast라는 비슷한 기능도 있긴 한데 ㅎ 제가 다니고 있는 회사에서는 Snackbar를 자주 사용하고 있어요. 그런데 위에 적힌 Exception이 가끔 제보가 들어왔었는데요. 지금까지 정확한 오류 원인을 파악하지 못하고 있었지만... 오늘 그 실마리를 잡은 것 같아서 여러분에게 공유해드리려고 합니다. 개요 ... Snackbar.make(viewBinding.rootLayout, "SanckBar Test", 10000).show() 오류가 발생한 화면의 레이아웃과 S..

Android/Error

[Android] Kotlin runBlockingTest 오류

안녕하세요 점냥입니다:) Kotlin으로 Android 프로젝트를 진행하면서 발생한 문제가 있고 해결 방법에 대해 말씀드리려고 합니다. 문제 상황 당시 Coroutine + Room 작동이 올바른지 테스트를 하려고 했고, Dao에 정의된 모든 함수들은 suspend로 정의되어 있기 때문에 코루틴 스코프가 필요했습니다. @Test @Throws(Exception::class) fun writeHistoryAndReadInList() = runBlockingTest { val history = History(searchWord = "test") historyDao.insertHistory(history) val findHistory = historyDao.findHistoryByWord("test") ass..

Android/Error

[Android] Dagger2 적용 후 guava Compile Error

사건 발생하기 전 개인 프로젝트에 Dagger2를 적용하려고 한 필자는 아래와 같이 프로젝트를 설정했다. apply plugin: 'kotlin-kapt' dependencies { def daggerVersion = '2.30.1' implementation "com.google.dagger:dagger:$daggerVersion" kapt "com.google.dagger:dagger-compiler:$daggerVersion" } sync는 무리 없이 통과가 되자 필자는 Component와 Module를 만들며 열심히 기존 프로젝트에 Dagger 라이브러리를 적용하고 있었다. 문제는 Build를 하고 나서 시작되었다. 사건 해결 노력 Step 1. dagger2 추가된 후 문제 발생한 것이 맞나? ..

Android/Error

[Android] trying to draw too large Bitmap 해결하기 - Bitmap Resize

RuntimeException : try to draw too large ( 바이트 수 ) Bitmap 위 명시되어 있는 Exception은 메모리 캐싱 등의 부가 기능을 제공해 주는 이미지 라이브러리 없이 직접 메모리 용량이 큰 이미지를 View에 로딩 했을 때, 나타나는 문제입니다. 우리가 사용할 수 있는 application의 메모리는 제한되어 있기 때문에 Bitmap Resize를 적용해주는 것이 좋습니다. Bitmap 크기 가져오기 BitmapFactory class는 Bitmap을 생성하기 위해 여러 가지 Decode Method를 제공합니다. decodeByteArray(), decodeFile(),decodeResource(), etc 위 함수를 사용하게 되면 Bitmap의 고유의 크기를 ..

점냥
'Android/Error' 카테고리의 글 목록