ray-note/Android Hilt.md

1.5 KiB
Raw Blame History

暂时不写博客,看官方教程)

不纠结于底层细节就看看在学了Android官方的教程之后的总结

引入依赖

  • 项目根级 build.gradle.kts
plugins {
	// hilt  
	id("com.google.dagger.hilt.android") version "2.48.1" apply false
}
  • app 级 build.gradle.kts
plugins {  
	...
    kotlin("kapt")  
    id("com.google.dagger.hilt.android")  
}

android {
	...
}

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

kapt {  
    correctErrorTypes = true  
}

为当前的App启用Hilt (必须)

创建一个 Application 的继承类,在 AndroidManifest.xml 中的 application 中设置当前的Application为这个 Application 添加 @HiltAndroidApp

Android Hilt 使用时的容器及层次结构

Hilt 的顶层容器是 Application 容器, 这些容器,存在层级关系

  • 层级关系如下
    • SingletonComponent::class -- Hilt 根容器, 就是 Application 容器
      • ActivityComponent::class -- ``
        • FragmentComponent::class
        • ViewComponent::class
      • ServiceComponent::class
      • BroadcastReceiver::class
    上面的层级关系中,SingletonComponent 是最高层次,依次类推

Android Hilt 中的作用

  • 标注Hilt容器的注解
    • @HiltAndroidApp
    • @AndroidEntryPoint