T D*_*yen 11 android dependency-injection field dagger-hilt
假设我有A类
class A ()
Run Code Online (Sandbox Code Playgroud)
我想将 的实例A作为字段注入到类中B,并让 Hilt 或 Dagger 来处理它。
Class B {
@Inject lateinit var a: A
}
Run Code Online (Sandbox Code Playgroud)
假设类 B 是一个普通类,没有上下文,例如视图模型或任何东西,正确的步骤是什么(如果可能),这样我就可以使用该实例而a无需手动初始化。
如果您可以访问类 B 的构造函数,您可以作为参数传递,如下所示:
class B @Inject constructor(
private val classA : A
){
//...
}
Run Code Online (Sandbox Code Playgroud)
否则你可以使用@EntryPoints. 想了解更多详情@EntryPoint,您可以点击以下链接:
https://developer.android.com/training/dependency-injection/hilt-android#not-supported