android - 发布 Android 应用程序后,如何向 SQLite 数据库添加新列?
问题描述
我想向 SQLite 数据库添加新列,但我已经在 Play Store 上发布了我的应用程序,因此,如果我对其进行编辑,用户需要卸载并重新安装该应用程序,但我不希望这样。请帮忙,我是Android新手。
解决方案
(1)增加(或简单地更改)您的数据库版本
(2)这将导致onUpgrade()
方法调用
(3)在方法中执行您的查询(用于添加新列)onUpgrade()
。
此博客中提到了正确的做法。
有时用户可能会从 1.1 版本更新到 1.5 版本。换句话说,他们可能会跳过 1.1 到 1.5 之间的其他版本。您可能会在 1.1 到 1.5 之间更改数据库几次。因此,为了让用户从所有数据库更改中受益,您需要采用如下 onUpgrade() 方法。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
db.execSQL(DATABASE_ALTER_TEAM_1);
}
if (oldVersion < 3) {
db.execSQL(DATABASE_ALTER_TEAM_2);
}
}
希望能帮助到你。
推荐阅读
- java - java中如何使用变量的值作为mysql的表名?
- python - ImportError:无法从“tabula”Windows 10 导入名称“wrapper”
- android-gradle-plugin - android-gradle set versionNameOverride 没有在 BuildConfig.java 中设置 versionName
- c# - 按字母顺序排列字符串
- amazon-web-services - 如何在亚马逊网络服务中备份机器
- swift - 无法打开文件(在项目“iRSS”中的目标“iRSS WatchKit Extension”中):构建时出错
- wpf - c# wpf如何在Task结束时冻结ListBox
- android - Android 和 Kotlin 中的按钮后线程
- sql - SQL 查询以获取多行,其中一个行出现多次
- javascript - 下面的代码是什么意思?我应该如何理解函数体的语法?