목록안드로이드(Android)/이슈 및 해결 (28)
Simple&Natural
내가 겪었던 문제는 아니지만 얼마 전 아는 개발자 분의 문제를 함께 해결해주면서 있었던 이슈이다. 이 부분은 예전에 채팅앱을 만들 때 서비스를 다루면서 알고 있던 부분이라 다행히 바로 찾아낼 수 있었다. 문제인즉슨, 앱이 종료 유무에 관계없이 지속적으로 카운팅이 유지되는 기능이 필요한데 앱을 껐다 키면 카운팅이 새롭게 시작되는 현상이었다. 소스코드를 부탁드리고 문제의 원인을 분석해보았다. 원인은 의외로 간단했는데 바로 카운팅 작업을 다루는 서비스를 액티비티에 단지 바인드만 시킨 것이 문제였다. 안드로이드 공식 문서에서는 다음과 같은 내용을 찾을 수 있다. Bound A service is bound when an application component binds to it by calling bindSe..
[문제] 공식문서에 의하면 IO Dispatcher가 사용하는 스레드 풀의 최대 스레드 갯수는 64개를 넘지 않는다. 하지만 내 노트북에서 실험한 결과 간혹 스레드 번호가 64를 초과하여 찍힐 때가 있었다. 같은 코드를 kotlin.org에서 제공하는 PlayGround 에서 찍어보면 또 전혀 문제가 없다. 혹시 기존의 64개 스레드가 모두 점유되고 있으면 추가로 스레드를 더 생성하는 건지 궁금하여 자료를 찾아보아도 딱히 관련된 내용이 없었고 공식 Github에 이슈를 체크해도 딱히 답변이 없는 상황. repeat(500) { CoroutineScope(Dispatchers.IO).launch { println(Thread.currentThread().name) } } ... DefaultDispatch..
진행하는 프로젝트의 Gradle을 리팩토링 하던 중 빌드가 되지 않는 현상이 발생하였다. 안드로이드 스튜디오 버전 4.0 오류 내용 Execution failed for task ':app:mergeDebugJavaResource'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > More than one file was found with OS independent path 'META-INF/AL2.0'. 해결방법 구글링 도중 발견한 문제 해결의 키워드이다. 여러 모듈 앱 환경에서 작동하는 비슷한 문제에 직면했습니다. 오류 : ': app : transformResource..
EUC-KR로 인코딩된 웹문서를 안드로이드 앱으로 불러오면 종종 글자가 깨져보이는 경우가 발생하는데 이때 받아오는 inputStream에 charset 인코딩 타입을 지정해주어야 한다. val response = httpRequest(mClient, newsUrl) val inputStream = response?.body?.byteStream() //임시코드, null 예외처리를 이렇게 겹쳐 쓰는 건 지양해야 함 val inputStringReader = InputStreamReader(inputStream, "euc-kr") 블로그를 돌아다니다 보면 다 웹문서를 올바르게 표시하고 싶어하는 질문들에 대해 이상한 답변이 달려있는 경우가 많은데... 예를 들면 String(word.toByteArray("..