Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何基于导出的模式JSON文件创建和填充房间数据库?_Android_Android Room - Fatal编程技术网

Android 如何基于导出的模式JSON文件创建和填充房间数据库?

Android 如何基于导出的模式JSON文件创建和填充房间数据库?,android,android-room,Android,Android Room,我需要为我的应用程序提供一个预填充的房间数据库。我对必要步骤的理解如下: 导出模式 使用模式创建数据库 用数据填充数据库 将填充的数据库导出到.db文件 将.db文件传递给 我通过设置room.schemaLocation成功地通过了第一步,现在将导出的模式作为JSON文件 这就是我现在遇到麻烦的地方: 如何从JSON文件创建数据库(步骤2) 填充Anyway创建的数据库后,如何从中创建.db文件(步骤4) 提示:我更喜欢用Kotlin代码填充数据库(步骤3)。就我个人而言,我更喜欢让Roo

我需要为我的应用程序提供一个预填充的房间数据库。我对必要步骤的理解如下:

  • 导出模式
  • 使用模式创建数据库
  • 用数据填充数据库
  • 将填充的数据库导出到
    .db
    文件
  • .db
    文件传递给
  • 我通过设置
    room.schemaLocation
    成功地通过了第一步,现在将导出的模式作为JSON文件

    这就是我现在遇到麻烦的地方:

    • 如何从JSON文件创建数据库(步骤2)
    • 填充Anyway创建的数据库后,如何从中创建
      .db
      文件(步骤4)

    提示:我更喜欢用Kotlin代码填充数据库(步骤3)。

    就我个人而言,我更喜欢让Room为我创建一个空数据库。然后,我将数据库从设备上复制下来,用作我的起点。这基本上涵盖了步骤1和2。步骤4不存在,因为SQLite数据库是
    .db
    文件。如何处理?您是否对一些代码进行了注释/更改,以获得一个空数据库作为开始?有没有更自动/更安全的实用方法(secure=不能忘记恢复更改)“您是否注释/更改一些代码以获得一个空数据库?”--一般来说,是的,但我没有频繁更改模式,因此这不是一个大问题。“有没有更自动/更安全的切实可行的方法”——我不确定什么才符合条件。例如,您可以通过
    BuildConfig
    标志控制是否使用
    createFromAsset()。要创建空数据库,您可以使用该变体运行应用程序,而不是日常开发中使用的普通应用程序。