要在Kotlin项目中使用Dagger2,你需要按照以下步骤进行集成:
implementation 'com.google.dagger:dagger:2.x'
kapt 'com.google.dagger:dagger-compiler:2.x'
@Component
注解来创建Dagger的Component。例如:@Component
interface MyComponent {
fun inject(activity: MyActivity)
}
@Module
注解创建Module,提供依赖实例。例如:@Module
class MyModule {
@Provides
fun provideSomeService(): SomeService {
return SomeService()
}
}
@Component
的modules
属性添加Module。例如:@Component(modules = [MyModule::class])
interface MyComponent {
fun inject(activity: MyActivity)
}
@Inject
注解:在需要依赖注入的地方使用@Inject
注解标记需要注入的字段或构造函数。例如:class MyActivity {
@Inject
lateinit var someService: SomeService
init {
DaggerMyComponent.create().inject(this)
}
}
这样就完成了Dagger2在Kotlin项目中的集成和使用。记得在build.gradle中添加kapt
插件,以支持Dagger2的注解处理。