【发布时间】:2019-12-13 16:53:43
【问题描述】:
我正在按照这里的这些教程来学习匕首。 https://www.youtube.com/watch?v=wJkHYBf8VkA
在我的活动中,我试图在重建我的项目后调用 DaggerModelComponent.create() 并且它未解决。
这是我的模型类:
class Car @Inject constructor(engine: Engine, wheels: Wheels) {
fun drive(){
Log.d("Car", "driving...")
}}
我的组件界面:
@Component interface CarComponent {
fun getCar() : Car }
还有我的活动:
private lateinit var car: Car
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val component = DaggerCarComponent.create()
car.drive()
}
我也有引擎和车轮的模型:
class Engine @Inject constructor()
和
class Wheels @Inject constructor()
这在我的活动中不起作用:
val component = DaggerCarComponent.create()
显然,Dagger 应该生成这个类,但我不认为它是。
这些是我的应用 build.grale 中的依赖项导入
implementation 'com.google.dagger:dagger:2.25.2'
annotationProcessor 'com.google.dagger:dagger-compiler:2.25.2'
我错过了什么吗?也许我在 Kotlin 中做错了什么,我正在学习 Java 教程。 提前致谢。
【问题讨论】:
标签: java android kotlin dependency-injection dagger