【问题标题】:createFromAsset function from RoomDatabase.Builder not recognized来自 RoomDatabase.Builder 的 createFromAsset 函数无法识别
【发布时间】:2020-05-19 07:51:11
【问题描述】:

我在关注 Prepopulate your Room database 指南,但 Android Studio 无法识别 createFromAsset 函数。我进入 RoomDatabase.java 文件(RoomDatabase.Builder 类在哪里)查看函数是否存在,但 reference 表示函数 createFromAsset 是 RoomDatabase.Builder 的一部分。

这是我的代码:

@Database(entities = [ Crime::class ], version=1, exportSchema = true)
@TypeConverters(CrimeTypeConverters::class)
abstract class CrimeDatabase : RoomDatabase() {
    abstract fun crimeDao(): CrimeDao
}

...

private const val DATABASE_NAME = "crime-database"

...

private val database : CrimeDatabase = Room.databaseBuilder(
        context.applicationContext,
        CrimeDatabase::class.java,
        DATABASE_NAME
    ).createFromAsset("database/crime-database.db").build()

createFromAsset 在 Android Studio 中为红色,编译时出现错误'Unresolved reference: createFromAsset'

可能是什么问题?

【问题讨论】:

  • 您使用的房间是什么版本的?
  • @SaeedEntezari 2.1.0-alpha04

标签: android sqlite android-studio kotlin


【解决方案1】:

将您的房间版本更改为最新:

dependencies {
  def room_version = "2.2.3"

  implementation "androidx.room:room-runtime:$room_version"
  kapt "androidx.room:room-compiler:$room_version"
}

RoomDatabase.Builder 中的createFromAsset() 方法是在版本2.2.0 中添加的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-30
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多