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

标签 android database google-play

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

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

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

最佳答案

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

Called when the database needs to be upgraded. The implementation should use this method to drop tables, add tables, or do anything else it needs to upgrade to the new schema version.

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

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

关于android - 在我的应用中处理 Google Play 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438156/

相关文章:

为银行记录创建数据库

android - 如何在 Google Play 上仅针对一个国家/地区发布更新

android - 单个开发者可以在 Android Market 上发布多少个不同的应用程序是否有限制?

android - 如何在不丢失图像内容的情况下调整图像大小

android - 为什么 Android 上显示的纹理比 PC 上显示的更大且更完整?

android - 何时启动和停止应用内结算服务?

mysql - 根据日期范围更改 MySQL 表中的值

将英语单词分类为匹配情感的数据库

android - 初创公司首先要使用 iOS 或 Android 应用程序

Play 商店中平板电脑上的 Android 应用程序可见性