问题描述
我在使用Android中的预填充数据库时遇到问题。 虽然不是通常的问题。 我的数据库工作正常。
我的问题是在应用发布后添加新数据。
我花了很多时间进行onupgrade方法,但是后来我意识到我的问题出在其他地方。 将新行添加到资产文件夹中的数据库后,如何将这些行添加到复制到我的data / data文件夹中的数据库中.....
我的数据库是我存储游戏级别信息的地方,表的最后一列是标记级别的标记,因此我不会丢失此信息。
1楼
您可以添加一些sql修补程序文件,然后阅读它们以升级数据库。
我仅将它与从复制的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) {
//
}