使用 Dagger 将依赖项注入类的最佳方法是什么,尤其是像活动这样的零参数构造函数类,使用 Dagger?Dagger 2 可能会改善这种情况吗?
提前致谢。
使用 Dagger 将依赖项注入类的最佳方法是什么,尤其是像活动这样的零参数构造函数类,使用 Dagger?Dagger 2 可能会改善这种情况吗?
提前致谢。
我有一段时间没有更新我的答案,它已经过时了。这里还注意到@Ben 的新答案适用于 M13/M14。
决定最好将所有感兴趣的人重定向到我的模板项目,我会尝试与最新的 Kotlin 和 Dagger 2 版本保持同步。Kotlin + Dagger 2 示例
我在那里描述如何注入对象,包括多个注释等。
Dagger 依赖于注释处理,据我所知,Kotlin 尚不支持。但他们说,这是计划好的。同时,您可以使用 Dagger 依赖项扩展 java 类,或者尝试一些基于反射的注入框架 - Guice、Roboguice
在 Kotlin 中使用 dagger 注释 1- // dagger 在应用程序级别添加依赖项
implementation 'com.google.dagger:dagger:2.38.1'
kapt 'com.google.dagger:dagger-compiler:2.38.1'
添加应用级别/gradle
plugins {
id 'kotlin-kapt'
}
@Inject @Component
现在您可以使用诸如etc之类的注释
class Test{
@Inject
lateinit var name: String
}