1.首先,确保您的项目中已添加Hilt库以进行依赖注入。在build.gradle文件中添加以下依赖项:
dependencies {
// Hilt
implementation "com.google.dagger:hilt-android:2.x"
kapt "com.google.dagger:hilt-android-compiler:2.x"
}
2.创建要注入的依赖项和目标对象类。例如,如果您想注入一个依赖项MyDependency
到对象类MyObject
中,那么可以按如下所示创建这些类:
class MyDependency @Inject constructor() {
// ...
}
class MyObject {
@Inject lateinit var myDependency: MyDependency
// ...
}
3.在您的应用程序的Application类中添加@HiltAndroidApp
注释,以启用Hilt。
@HiltAndroidApp
class MyApp : Application() {
// ...
}
4.使用@AndroidEntryPoint
注释对象类MyObject
,以在其中启用Hilt依赖注入。
@AndroidEntryPoint
class MyObject {
@Inject lateinit var myDependency: MyDependency
// ...
}
5.在您的应用程序的依赖关系图中,将要注入的依赖项类MyDependency
添加到@InstallIn
注释的相应位置。在本例中,假设MyDependency
在应用程序的应用程序级别范围内使用,因此可以使用@Singleton
注释。
@Module
@InstallIn(ApplicationComponent::class)
class MyDependencyModule {
@Provides
@Singleton
fun provideMyDependency(myDependency: MyDependency): MyDependency = myDependency
}
6.在需要使用MyObject
类的代码中,使用@Inject
注释将其实例化,并使用@AndroidEntryPoint
注释标记其为依赖项。例如: