Extract APK via ADB
Extract APK via ADB Read More »
1. Room Gradle Plugin If you are using Room version 2.6.0 and higher, you can use Room Gradle Plugin Version catalog build.gradle.kts (root) build.gradle.kts (module) After running Build successfully, You can find the json file that contains schema under $projectDir/schemas directory 2. KSP If you are using KSP, you can set export location by configuring
[Android][Room] Export schema Read More »
Open your root-level build.gradle.kts file. org.jetbrains.kotlin.android determines the Kotlin version. In this case, 1.9.0 is being used.
How to change Kotlin version in Android project Read More »
LazyColumn takes space up to status bar and status bar is drawn over LazyColumn References
Make Status bar transparent in Jetpack Compose Read More »
아주 가지가지 한다. 정확히는 플라밍고 문제라기보단 AGP 8.0.0의 문제다. Electric Eel을 쓰다가 Flamingo로 업데이트하고 AGP를 8.0.0으로 업데이트한 후 gradle build를 실행했더니 아래와 같은 에러가 발생했다. 문서 내용을 보면 AGP 7.4.0부터 android compileOptions의 targetCompatibility 값을 제대로 세팅을 해주지 않아서 발생하는 문제라고 한다. AGP 8.1.0-alpha09에서 수정되었다는데 이걸 쓰려면 Flamingo보다 상위 버전, 즉 아직 stable release가 되지 않은
안드로이드 스튜디오 플라밍고 업데이트 후 gradle 에러 Read More »
모듈을 import하고 디펜던시를 추가하고 빌드하면 아래와 같은 에러가 발생한다. nativetemplates 모듈의 build.gradle (app 모듈의 build.gradle이 아니라)에 아래 내용을 추가해주면 된다.
[Admob] Native Ad 템플릿 모듈 import 시 CanIgnoreReturnValue 관련 에러 해결 Read More »
Activity Result를 받아오는 API가 변경되면서 Fragment.requestPermissions도 deprecated 되었다. registerForActivityResult를 호출하고 ActivityResultContracts.RequestPermission을 인자로 전달해야한다. 복수의 권한이 필요한 경우는 Contract를 RequestMultiplePermissions로 바꿔서 사용한다. 하지만 사진/동영상 촬영, 연락처 선택 등 일반적인 케이스는 기본적으로 제공하는 Contract를 활용하는 것으로 커버할 수 있다.
Fragment에서 권한 요청하기 (2021) Read More »
트레이드 오프라는 개념을 처음 배울 때는 서로 양립할 수 없다는 사실을 너무 명백히 알 수 있는 케이스들로 배웠던 것 같다. 예를 들면 시간복잡도와 공간복잡도, 또는 일정과 품질과 비용. 시간을 줄이려면 공간을 많이 써야하고, 공간을 아끼려면 시간을 더 써야한다. 일정을 줄이려면 품질이나 비용을 양보해야하고, 품질을 높이려면 일정과 비용을 더 들여야하고, 비용을 줄이려면 품질과 일정을 희생해야한다는 것은
Reddit에서 발견한 github repository 짤막한 설명을 곁들인 다양한 코루틴 코드들을 보면서 개념 잡기 편한 것 같다.
[Kotlin] Coroutines Playground Read More »