如何将数据预先填充到表中?

问题描述 投票:6回答:1

最近我已经找到了article about Room db,并且有第一个技巧可以将数据预先填充到数据库中。

创建数据库时,当前是否存在某种优雅的方式来预填充数据?

我正在使用Dagger2,因此实际创建数据库非常容易。

@Module
class DatabaseModule{

    @Provides
    @Singleton
    fun provideObjectBox(context: Context): BoxStore =
        MyObjectBox.builder()
                .androidContext(context)
                .build()

}

以及我现在使用SharedPreferences的方式。因此,我只是检查它是否是数据库的第一个设置,而不是填充数据库。

java android objectbox
1个回答
0
投票

此外,我想当问题创建时,不可能在构建器中添加一个函数,因此您可以简单地调用:

 MyObjectBox.builder()
            .initialDbFile(file)
            .androidContext(context)
            .build()

这将使用给定的文件,必须包含mdb格式的所有数据。我正在使用此功能来备份用户数据,所以我不必自己创建文件。据我所知,创建该文件而不是创建对象并将它们放入boxStore并不容易。我正在复制具有这样的现有数据的文件(虽然不是很好的方法)

 val dbFile = File(File(File(activity.getFilesDir(), "objectbox"),  BoxStoreBuilder.DEFAULT_NAME), "data.mdb")
© www.soinside.com 2019 - 2024. All rights reserved.