kotlin使用dagger2踩坑

在Kotlin中使用Dagger2时,需要在build.gradle中添加kapt插件以使编译器生成Dagger代码。不正确地添加依赖会导致代码无法自动生成。此外,注意区分Kotlin和Dagger的Lazy接口以正确实现懒加载。
摘要由CSDN通过智能技术生成

kotlin使用dagger2踩坑

java中使用dagger2

在app的build.gradle中添加如下,即可使用dagger2

dependencies {
..
	implementation 'com.google.dagger:dagger:2.45'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.45'
..
}

rebuild后自动生成代码
在这里插入图片描述

kotlin中使用dagger2

坑1 - build.gradle依赖

如果直接使用java的依赖,虽然不会报错,但编译器无法自动生成dagger代码,导致dagger无法使用
在这里插入图片描述
这里需要在build.gradle中用到到kapt(Kotlin Annotation Processing Tool),对应位置添加如下配置,重新sync即可

plugins {
    //..
    id 'kotlin-kapt'
}

kapt {
    generateStubs = true
}

dependencies {
	//..
    implementation 'com.google.dagger:dagger:2.45'
    kapt 'com.google.dagger:dagger-compiler:2.45'
    kapt 'com.google.dagger:dagger-android-processor:2.45'
	//..
}

自动生成代码会在kapt包中
在这里插入图片描述

坑2 - Lazy懒加载

使用dagger的懒加载进行依赖注入,除了dagger中的Lazy,kotlin也提供了Lazy的API,使用时需要注意导入正确的包
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值