在我的应用中处理Google Play更新

时间:2014-12-12 06:36:02

标签: android database google-play

作为开发者,您如何处理Android应用的更新?

特别是,(1)如果我在更新中更改了数据库方案,我将如何在应用程序即将更新时收到通知?

更具体地说,(2)是否有一个入口点我可以放置处理更新的代码并完成它?或者我每次尝试访问时都必须检查数据库版本吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,SQliteOpenHelper#onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)是您正在寻找的方法。来自文档:

  

需要升级数据库时调用。实现应使用此方法删除表,添加表或执行升级到新架构版本所需的任何其他操作。

此方法从API 1开始提供,因此它适用于可安装应用程序的所有设备。

Upd:每当您创建SQliteOpenHelper实例时,都会将数据库版本传递给其构造函数(请查看documentation中的构造函数)。因此,当您制作应用的第一个版本时,您会传递1作为版本号。此编号保存在数据库文件中。稍后,当您创建新版本的应用程序时,需要对数据库架构进行一些更改,将此版本更改为2。在构造期间SQliteOpenHelper发现存储在db文件中的版本为12传递给构造函数的版本为2 - 因此它调用onUpgrade()方法在哪里编写将相应更改架构的代码。