在Activity文件中添加带有@Provides注释的方法。例如:
@Module
class ActivityModule {
@Provides
fun provideSomeDependency(): SomeDependency {
return SomeDependencyImpl()
}
}
class MainActivity : AppCompatActivity() {
@Inject
lateinit var someDependency: SomeDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
DaggerAppComponent.builder()
.activityModule(ActivityModule())
.build()
.inject(this)
}
}
在这个示例中,ActivityModule类包含带有@Provides注释的方法provideSomeDependency(),它提供了SomeDependency对象的实例化。MainActivity类通过@Inject注释声明了SomeDependency依赖,并在onCreate()方法中使用DaggerAppComponent注入此依赖。