android studio kotlinを使用してarchitecture componetsを記述する構成の問題

5033 ワード

最新のアーキテクチャが出たら、自分でdemoを書いてみることにしました.そこで、kotlin言語でarchitecture componetsのdemoを書くことにしました.自分のこの間の学習内容の総括と応用です.architecture componetsは、lifecycle,roomの2つの公式コンポーネントを構成する必要があります.最初の私の構成はこうでした.
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"

その後、正常に動作.