Kotlin中級#2 Hilt(修正2021.08.05)


Google公式サイト
HiltはDIライブラリです.
DIは依存性注入の意味であり,オブジェクトを作成しない場合には元のオブジェクトを入れるという意味である.
拡張性、実行時間、コンパイルの安定性を担当するHiltについて

😀 1.ライブラリの追加


プロジェクトの構築に追加します.
buildscript {
    ...
    ext.hilt_version = '2.38.1'
    dependencies {
        ...
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
    }
}
次に、アプリケーション・レベルのバージョンに次の記事を追加します.
plugins {
    kotlin("kapt")
    id("dagger.hilt.android.plugin")
}

android {
    ...
}

dependencies {
    implementation("com.google.dagger:hilt-android:$hilt_version")
    kapt("com.google.dagger:hilt-android-compiler:$hilt_version")
}

😋 2.アプリケーションの追加


ヒルトを使用するには、アプリケーションを継承して@HiltAndroidAppを貼り付ける必要があります.
この動作により、Hiltはライフサイクルに接続され、アクセスできます.
@HiltAndroidApp
class ExampleApplication : Application() { ... }

3.従属関係をクラスに注入する


アプリケーションに追加すると、ヒルトは他のクラスから@Android EntryPointを受信します.
依存関係を指定します.
@AndroidEntryPoint
class ExampleActivity : AppCompatActivity() { ... }
現在依存関係を注入できるクラス.

現在、異なるAnnotationを受信するのはView ModelとApplicationのみです.

4.注入


Analytics Adapter
class AnalyticsAdapter @Inject constructor(
  private val service: AnalyticsService
) { ... }