要在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的注解處理。