2011-09-21 129 views
0

我正在开发一个应用程序,当用户选择应用程序升级过程时,我必须更新我的数据库。简单地说,我想在我的应用程序迁移到新版本时进行数据库更改。 如何完成这项工作,请提出建议。如何在应用程序升级过程中升级我的数据库?

我开发一个应用程序,其已经在市场上的一些版本现在我想发布一个更新到我的应用程序,但我没有得到任何信息,如何做到这一点。它是否像一个正常的apk文件创建?如果是的话我需要使用任何adb命令来测试这个apk文件吗?请建议.. !!!

感谢, 拉姆。

+0

从哪里要更新您的数据库? – user370305

回答

1

请参阅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或您的主数据库存储帮手。

这将需要重新启动您的应用程序。如果您指的是用户进行应用内升级的能力,那么这可能对您无效。

0

如果您使用SQLiteOpenHelper(您应该),只需覆盖onUpgrade方法。然后,每当你的数据库结构发生变化时,你就调用数据库的版本号。在开发指南的数据存储上阅读this topic。另外,看看实现这个的NotePad样本。