How to change Kotlin version in Android project
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 »
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 »
In Kotlin, we can use functions such as forEach, forEachIndexed, and map to iterate items in collection. It’s convenient to use, but it comes with cost; those functions create additional objects like Iterator. For most cases, it wouldn’t be a serious problem to have some temporary objects. However, when overriding onDraw method of View class,
[Kotlin] for-loop with no additional object allocation Read More »
안드로이드 API는 큰 흐름상으로는 바람직하게 가고는 있지만 여전히 불만인 부분은 마음놓고 쓰기가 어렵다는 점이다. 어느 정도 안정화되고 손에 익었다 싶으면 deprecated되고 또 새로운 게 나오는데 새로운 걸 쓰려면 모험을 해야한다. 예전 API를 계속 쓰자니 찝찝하고, 새로운 걸 쓰자니 불안하고. 이런 스트레스를 항상 안고 개발해야하는 게 좀 불만이다.
Deprecated or Experimental Read More »