0. ktx
Android Jetpack과 기타 Android 라이브러리에 포함된 Kotlin 확장 프로그램 세트이다.
Jetpack, Android , 기타 API 등과 Kotlin을 사용하기 위해 사용한다.
1. by viewModels()
코틀린의 by는 위임(deligate) 패턴을 구현하는데에 사용되는 키워드이다.
그로 인해 ViewModelProvider를 사용하지 않아도 by viewModels 함수를 사용하여 viewModel을 지연 생성할 수 있다.
2. 종속성 추가
viewmodel 관련 ktx 종속성을 추가했는데도 by viewModels 함수가 제공되지 않아 당황한 사람들이 있을 것이다.
viewmodel의 초기화를 위한 함수들은 Activity/Fragment에 포함되어 있어 그런 것이므로,
아래 종속성을 추가해주면 정상적으로 사용이 가능하다.
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.activity:activity-ktx:1.7.0'
implementation 'androidx.fragment:fragment-ktx:1.5.6'
'개발 > 트러블슈팅' 카테고리의 다른 글
[안드로이드] is not abstract and does not implement abstract member public abstract fun getActionId() 오류 (0) | 2023.04.17 |
---|---|
[안드로이드] Could not resolve com.android.tools.build:gradle:7.4.2 오류 (0) | 2023.04.13 |
[안드로이드] Circular dependency 오류 (0) | 2023.04.13 |
[안드로이드] ViewModelProvider gradle 오류 (0) | 2022.09.29 |
[안드로이드] INSTALL_FAILED_DOWNGRADE_VERSION 해결 방법 (0) | 2022.08.09 |