我在我的应用中使用Android Room Persistence库(v.1.0.0-alpha1)。 虽然它工作正常,但是当我在Android studio中打开模型类(Kotlin Data类)时,它会显示用于Room数据库的所有注释的未解析引用,例如 @Entity , @ColumnInfo 等我尝试将拱库的版本更改为1.0.0-alpha5,但结果相同。
在Lint检查中,它显示所有导入的注释的删除已弃用的符号导入 .AS之前未显示此错误。
如何解决此问题
修改 以下是我在build.gradle中添加的导入
compile "android.arch.persistence.room:runtime:1.0.0-alpha5"
compile "android.arch.persistence.room:rxjava2:1.0.0-alpha5"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha5"
kapt "android.arch.persistence.room:compiler:1.0.0-alpha5"
答案 0 :(得分:5)
这里有一个例子。
https://github.com/jsperk/PocRoom
请记住,您需要添加:
Gradle(项目) - > maven
Gradle(模块应用)依赖关系 - >
implementation "android.arch.persistence.room:runtime:1.0.0"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0"
testImplementation "android.arch.persistence.room:testing:1.0.0"
implementation "android.arch.persistence.room:rxjava2:1.0.0"
答案 1 :(得分:2)
在我的项目中,我有这个问题,因为我正在使用
android.arch.lifecycle:livedata:1.1.1
与使用1.1.1
或1.0.0
版本的房间相比,它仍然找不到android.arch.persistence.room.Entity
。
我已经搜索了很长时间,直到发现删除LiveData实现时,问题才得以解决。然后我注意到,这两个库的版本冲突。最后,我对livedata和room使用相同的1.1.0版本(因为livedata没有1.0.0版本),并解决了该问题。
def arch_version = "1.1.0"
implementation "android.arch.persistence.room:runtime:$arch_version"
annotationProcessor "android.arch.persistence.room:compiler:$arch_version"
implementation "android.arch.persistence.room:rxjava2:$arch_version"
implementation "android.arch.persistence.room:common:$arch_version"
implementation "android.arch.lifecycle:livedata:$arch_version"
implementation "android.arch.lifecycle:extensions:$arch_version"