【问题标题】:Android Room Database - Unresolved reference @Entity and other annotationsAndroid Room Database - 未解决的引用@Entity 和其他注释
【发布时间】:2017-08-17 10:27:47
【问题描述】:

我在我的应用中使用 Android Room Persistence 库 (v.1.0.0-alpha1)。 虽然它工作正常,但当我在 Android Studio 中打开模型类(Kotlin Data 类)时,它显示用于 Room 数据库的所有注释的未解析引用,如 @Entity@ColumnInfo 等等。我尝试将 arch 库的版本更改为 1.0.0-alpha5,但结果相同。

在 Lint 检查中,它显示 Remove deprecated symbol import 用于所有导入的注释。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"

【问题讨论】:

标签: android android-studio kotlin android-room


【解决方案1】:

这里有一个例子。

https://github.com/jsperk/PocRoom

记住,你需要添加:

Gradle(项目)--> maven

Gradle (Module App) 依赖 -->

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"

【讨论】:

    【解决方案2】:

    在我的项目中,我有这个问题,因为我正在使用

    android.arch.lifecycle:livedata:1.1.1

    无论使用1.1.11.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"
    

    【讨论】:

      【解决方案3】:

      将这些依赖项添加到您的 Gradle(Module App) 文件将解决它:-

      implementation "android.arch.persistence.room:runtime:1.1.1"
      annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
      testImplementation "android.arch.persistence.room:testing:1.1.1"
      implementation "android.arch.persistence.room:rxjava2:1.1.1"
      

      【讨论】:

        猜你喜欢
        • 2019-12-06
        • 2020-10-09
        • 1970-01-01
        • 2014-06-08
        • 1970-01-01
        • 2018-01-23
        • 2014-10-08
        • 2018-04-29
        • 1970-01-01
        相关资源
        最近更新 更多