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

时间:2018-01-24 23:01:31

标签: android sqlite android-room

我正在关注此示例here并将其集成到我正在开发的当前应用中。我之前有过sql数据库,但我并没有尝试迁移它们。

我有库设置和所有代码但是当我尝试构建以在模拟器上进行测试时,我得到了这个错误。

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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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