(1)kotlin与dagger2问题:Unresolved reference:
DaggerXXComponent;

大家在Kotlin (kt)上使用实战Dagger2 的时候,应该有碰到此类问题;我今天碰到了记录下解决方案:
这种问题:其实如果我们集成的时候看了dragger github项目时就可以避免,但是我这个人比较轴,因为我的项目里是混合编程,有java,kotlin. 所以一开始集成就是按照这种方式集成:
在这里插入图片描述
因为我自己以为在kt下也可以是使用 annotationProcessor,
结果自己折腾之后,发现Unresolved reference:DaggerXXComponent; 不过自己自己采坑在解决挺好,这种感觉挺舒服;所以为了能在kt下跑起来,顾还是根据项目提示更改为kapt形式引入。同时引入插件:
在这里插入图片描述
好那么这个问题可以解决;
2)坑2:
我直接上图大家应该能知道啥意思了在这里插入图片描述
如果用被我注释掉的那块代码,是编译不成功的为啥,我们将Koltin代码转换为java代码发现默认对象成了私有的,private.
懂了吧,注入对象不能是私有的。所以我改成上述lateinit方式。
或者以下方式:
在这里插入图片描述
备注下:可能很多同学都是以Java编程为主,所以代码有的Activity.java 为主, Activity.kt 为辅。那么大家在用Dragger 依赖引入的时候。只能选择其中一种拉,因为他们没有兼容。所以大家根据自己项目需求看用哪种依赖引入是Kapt还是annotationProcessor了。我建议用Kapt代码编程,感受下Google爸爸的坚定信念。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐