1

我在使用 android 中的预填充数据库时遇到问题。虽然不是通常的问题。我的数据库工作得很好。

我的问题是在应用发布后添加新数据。

我花了很多时间使用 onupgrade 方法,但后来我意识到我的问题出在其他地方。一旦我在资产文件夹中的数据库中添加了新行,如何将这些添加到复制到我的数据/数据文件夹的数据库中.....

我的数据库是我存储游戏关卡信息的地方,表中的最后一列是标记关卡已完成的标志,因此我不会丢失此信息。

4

1 回答 1

1

您可以添加一些 sql 补丁文件,然后读取它们以升级您的数据库。

我只是将它与我​​从Danny Remington 在 SO 上的帖子中复制的 FileHelper 静态类一起使用,然后执行以下操作:

try {
    InputStream in = mgr.open(assetFile);
    String[] statements = FileHelper.parseSqlFile(in);
    dao.mDb.execSQL("BEGIN TRANSACTION;");
    /*dao.mDb is a reference to the SQLiteDatabase from my dao*/
    for (String statement : statements) {
        dao.mDb.execSQL(statement);
    }
    dao.mDb.execSQL("COMMIT;");
    in.close();
} catch (IOException e) {
    //
}
于 2015-10-25T23:39:25.067 回答