3

Room 持久性库版本 2.2.0-alpha01 增加了使用预打包数据库的功能。

https://developer.android.com/jetpack/androidx/releases/room

有人可以提供一个如何初始化房间数据库构建器的例子吗?

4

1 回答 1

3

我正在使用这个:

@Database(entities = [Users::class], version = 1, exportSchema = false)
abstract class AppDataBase : RoomDatabase() {

    companion object {
        private const val DATABASE_NAME = "you_name"
        private const val DATABASE_DIR = "database/you_name.db" // Asset/database/you_name.db

        fun getInstance(context: Context): AppDataBase {
            return Room
                    .databaseBuilder(context, AppDataBase::class.java, DATABASE_NAME)
                    .createFromAsset(DATABASE_DIR)
                    .build()
        }
    }

    abstract fun getUsers(): UsersDao
}

有关更多信息,请参阅此处

If you need update DB from Asset!
 1. You need level up version Database in settings Room!
 2. Add .fallbackToDestructiveMigration() method in getInstance
 3. And need level up version in you db file;
于 2019-09-18T13:39:07.190 回答