android - 在商店发布新版本的 Android 应用程序时更新 SQLite 数据库

标签 android sqlite updates sqliteopenhelper android-database

我在我的 android 应用程序中使用 sqlite,我的数据库文件名为 data.db。假设我有两个表,一个是静态值(只读),第二个是保存动态值并将应用程序推送到 playStore。

在下一个版本中,我更新了 data.db 并更新了第一个表中的值,在第二个表中添加了新列并添加了第三个新表并将应用程序推送到 PlayStore。那么我如何检查用户是否正在更新应用程序以及保存现有数据的最佳方式是什么,以及当它是更新而不是全新安装时如何以编程方式更新 data.db?

最佳答案

您可以使用 SQLiteOpenHelper 的 onUpgrade 方法。在 onUpgrade 方法中,您获取 oldVersion 作为参数之一。

在 onUpgrade 使用 Switch 的情况下,在每个情况下都使用版本号来跟踪为每个新版本的数据库发送的当前数据库版本。

最好从旧版本循环到新版本,一次将版本递增 1,然后逐步升级数据库。当使用数据库版本 1 的人在很长一段时间后将应用程序升级到使用数据库版本 7 的版本并且应用程序由于某些不兼容的更改而开始崩溃时,这非常有用。

然后数据库中的更新将逐步完成,涵盖所有可能的情况,即合并为每个新版本所做的数据库更改,从而防止您的应用程序崩溃。

关于android - 在商店发布新版本的 Android 应用程序时更新 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29224771/

相关文章:

android - 如何在android ListView 中设置背景图片?

SQLite,选择消息线程

sqlite - 将 SQLite 与 Xamarin.Forms 跨平台项目结合使用

android - Sqlite 数据库在 Samsung Android Oreo 8.0 设备中无法正常运行

php - 为什么更新包时 "composer.json"没有更新?

android - 无法更新 Dart SDK。重试

android - 图表引擎 - 如何将饼图图例显示到中心

android - 如何在 Android 中从 java 代码编辑 ListPreference 值

primefaces - 显示更新素面对话框

Android Studio - Android SDK 工具 25.2.4 更新失败