Android/Kotlin
안드로이드 Dagger Hilt
easy-1
2021. 10. 18. 12:08
<개요>
- 종속 항목 삽입(DI : Dependency Injection)은 프로그래밍에 널리 사용되는 기법이다.
- DI의 원칙을 따르면 훌륭한 앱 아키텍처를 위한 토대를 마련할 수 있다.
- 이점 : 코드 재사용 가능, 리팩터링 편의성, 테스트 편의성
<적용방법>
1. 종속 항목 추가
- 프로젝트의 루트 build.gradle 파일에 플러그인 추가
buildscript {
...
dependencies {
...
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha'
}
}
2. Gradle 플러그인 적용 및 종속 항목 추가
...
apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'
android {
...
}
dependencies {
implementation "com.google.dagger:hilt-android:2.28-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
}
3. Hilt 는 자바 8 기능을 사용하므로 자바 8 사용 설정
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
4. Hilt 애플리케이션 클래스 설정
- Hilt를 사용하는 모든 앱은 @HiltAndroidApp으로 주석이 지정된 Application 클래스를 포함해야함.
- @HiltAndroidApp 은 애플리케이션 수준 종속 항목 컨테이너 역할을 하는 애플리케이션의 기본 클래스를 비롯하여 Hilt의 코드 생성을 트리거함.
- 생성된 이 Hilt 구성요소는 Application 객체의 생명주기에 연결됨.
@HiltAndroidApp
class ExampleApplication : Application() { ... }
5. Android 클래스에 종속 항목 삽입
- Hilt는 @AndroidEntryPoint 가 있는 다른 Android 클래스에 종속 항목을 제공함.
- Hilt는 현재 다음 Android 클래스를 지원함.
- Application(@HiltAndroidApp 사용)
- Activity
- Fragment
- View
- Service
- BroadcastReceiver
@AndroidEntryPoint
class ExampleActivity : AppCompatActivity() { ... }
<참고>