发布Android应用后,如何向SQLite数据库添加新列?

sai*_*oid 2 android google-play android-sqlite

我想向SQLite数据库中添加新列,但是我已经在Play商店中发布了我的应用程序,因此,如果我对其进行编辑,则用户需要卸载并重新安装该应用程序,但我不希望这样做。请帮忙,我是Android新手。

Har*_*789 5

(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);
   }
 }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。


小智 3

您需要更改数据库类的以下方法

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    String sql = "ALTER TABLE " + TABLE_SECRET + " ADD COLUMN " +
     "name_of_column_to_be_added" + " INTEGER"; 
    db.execSQL(sql);        
}     
Run Code Online (Sandbox Code Playgroud)