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() { ... }

<참고>