在我的 android 应用程序中,用户可以插入数据,当他/她单击保存按钮时,插入的数据将保存在 sqlite 数据库中。我有一个预定义的数据库,位于资产文件夹(.db 文件)中。现在它可以保存数据,我可以使用 sqlite 管理插件在 eclipse 中看到插入的数据。但问题是它无法更新资产文件夹中的数据库。我怎么解决这个问题 ?任何人都可以请这么好心解释我该怎么做吗?
此致
提前感谢
我想知道的是如何在插入数据后更新资产文件夹中的数据库。
无法在运行时编辑 Assets 文件夹。资源。
这将从资产文件夹加载数据库:
// Copies DB from assests
private void copyDataBase() throws IOException {
InputStream mInput = mContext.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream mOutput = new FileOutputStream(outFileName);
byte[] mBuffer = new byte[1024];
int mLength;
while ((mLength = mInput.read(mBuffer)) > 0) {
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
mInput.close();
}
请参阅此答案以从资产更新您的数据库。
您不能对保存在资产中的数据库执行任何操作,因为它只是运行时的模式,数据库在 data/data/pkg_name/database/myDb.db 中获取副本,并且更改将反映在那里而不是资产中。