android studio 使用kotlin编写architecture componets的配置问题

出了最新的架构就要自己动手写个demo试一下,于是我决定使用kotlin语言写一个architecture componets的demo,也算是对自己这段时间学习内容的总结和应用。architecture componets需要配置两个官方组件:lifecycle,room。
最初我的配置是这样的:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"

而程序写好之后,却报错:

Caused by: java.lang.RuntimeException
cannot find implementation for com.newstart.xuzhen.
xzdevelopmentframeworkdemo.architecture_componets.
db.MyDatabase.MyDatabase_Impl does not exist

room根本就没有被程序识别啊。当时感觉自己配置都是对的,百思不其解,程序重新写了几遍,还是不行,直到最近在Stack Overflow上看到,原来使用kotlin需要配置kapt,组件才可以运行,就像之前java需要配置apt一样。于是我将app的build.gradle改为:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
kapt "android.arch.lifecycle:compiler:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
kapt "android.arch.persistence.room:compiler:1.0.0-alpha1"

之后运行正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值