Android 导入预构建objectbox数据库

Android 导入预构建objectbox数据库,android,database,objectbox,Android,Database,Objectbox,我的项目中有一个预构建的SQLITEDB。 我想将我的旧数据库转换为Objectbox 是否可以创建预构建Objectboxdb 如果是这样,如果我已经在同一个项目中使用了另一个数据库(Objectbox)的BoxStoreBuilder,我如何使用预构建数据库 1) 当然,在v。为BoxStoreBuilder.initialDbFile(…)添加了1.4.4,该文件将提供一个初始数据文件(如果以前不存在)。 例如: 伴生对象{ const val INITIAL_DB=“data.mdb”

我的项目中有一个预构建的
SQLITE
DB。
我想将我的旧数据库转换为
Objectbox

  • 是否可以创建预构建
    Objectbox
    db
  • 如果是这样,如果我已经在同一个项目中使用了另一个数据库(
    Objectbox
    )的
    BoxStoreBuilder
    ,我如何使用预构建数据库
  • 1) 当然,在v。为BoxStoreBuilder.initialDbFile(…)添加了1.4.4,该文件将提供一个初始数据文件(如果以前不存在)。 例如:

    伴生对象{
    const val INITIAL_DB=“data.mdb”
    }
    私有变量inputStreamFactory:Factory=Factory{context.resources.assets.open(INITIAL_DB)}
    私人val box:BoxStore by lazy{
    MyObjectBox.builder().initialDbFile(inputStreamFactory).androidContext(context.build())
    }
    
    其中
    data.mdb
    放置在您的资产文件夹中

    据我所知,这个
    data.mdb
    文件可以跨平台工作(x64、ARM、32和64位)

    2) 我认为您必须以某种方式手动传输数据。

    请参见此处:
    companion object {
        const val INITIAL_DB = "data.mdb"
    }
    
    private var inputStreamFactory: Factory<InputStream> = Factory { context.resources.assets.open(INITIAL_DB) }
    
    private val box: BoxStore by lazy {
        MyObjectBox.builder().initialDbFile(inputStreamFactory).androidContext(context).build()
    }