代码之家  ›  专栏  ›  技术社区  ›  BigDX

在RoomOpenHelper类中构建Android Room数据库时出错

  •  2
  • BigDX  · 技术社区  · 7 年前

    我遵循这个例子 here 并将其集成到我目前正在开发的应用程序中。我有以前的sql数据库,但我没有尝试迁移它们。

    我已经安装了库和所有的代码,但当我尝试在emulator上构建测试时,我遇到了这个错误。

    Error:(27, 60) error: constructor RoomOpenHelper in class RoomOpenHelper cannot be applied to given types;
    required: DatabaseConfiguration,Delegate,String,String
    found: DatabaseConfiguration,<anonymous Delegate>,String
    reason: actual and formal argument lists differ in length
    

    “RoomOpenHelper”似乎需要一个identityHash和legacyHash。没有提供遗产,我也不知道为什么。

    以下是我正在使用的库

    implementation "android.arch.lifecycle:runtime:1.1.0"
    implementation "android.arch.lifecycle:extensions:1.1.0"
    annotationProcessor "android.arch.lifecycle:compiler:1.1.0"
    
    implementation "android.arch.persistence.room:runtime:1.0.0"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0"
    compile "android.arch.persistence.room:rxjava2:1.1.0-alpha1"
    
    implementation "android.arch.lifecycle:common-java8:1.1.0"
    

    我尝试了使用和不使用公共java8库。

    2 回复  |  直到 7 年前
        1
  •  5
  •   BigDX    7 年前

    我通过将2个持久性库更新为1.1.0 alpha版本修复了这个问题

        2
  •  1
  •   Idee    7 年前

    它通常是由房间依赖关系的变化引起的。确保普通依赖项、注释依赖项和rxjava支持依赖项都在同一版本中。