如何在应用程序升级过程中升级我的数据库?
问题描述:
我正在开发一个应用程序,当用户选择应用程序升级过程时,我必须更新我的数据库。简单地说,我想在我的应用程序迁移到新版本时进行数据库更改。 如何完成这项工作,请提出建议。如何在应用程序升级过程中升级我的数据库?
和
我开发一个应用程序,其已经在市场上的一些版本现在我想发布一个更新到我的应用程序,但我没有得到任何信息,如何做到这一点。它是否像一个正常的apk文件创建?如果是的话我需要使用任何adb命令来测试这个apk文件吗?请建议.. !!!
感谢, 拉姆。
答
请参阅this文档了解有关SQLiteOpenHelper的信息。它提供了用于执行更新的功能,以及onCreates(创建数据库时)。
onUpgrade方法应该工作的方式是将db,旧版本号和新版本号传递给它,以便您可以对其进行比较。你会做这样的事情:
public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer)
{
if (oldVer == 1 && newVer == 2)
{
db.exec("ALTER TABLE tbl_names RENAME TO names");
//.....
}
}
版本号通常为一个类级别的变量的地方无论是在你的SQLiteOpenHelper或您的主数据库存储帮手。
这将需要重新启动您的应用程序。如果您指的是用户进行应用内升级的能力,那么这可能对您无效。
答
如果您使用SQLiteOpenHelper
(您应该),只需覆盖onUpgrade
方法。然后,每当你的数据库结构发生变化时,你就调用数据库的版本号。在开发指南的数据存储上阅读this topic。另外,看看实现这个的NotePad样本。
从哪里要更新您的数据库? – user370305