0

アプリのデータベースにテーブルをもう 1 つ追加します。
ただし、データを消去せずにアプリをアップグレードすると、新しいテーブルが自動的に追加されないようです。
したがって、新しいテーブルからデータを取得する必要がある一部のコードは失敗します。

アプリのアップグレード時に新しいテーブルを自動的に追加することはできますか?

4

3 に答える 3

0

はい、メソッドonUpgradeがあります

そこにコードを追加し、バージョンが以前の onUpgrade よりも高い場合はデータベースのバージョンを増やし、テーブルを追加するために記述したコードが実行されます

サンプル

スーパーコールでバージョンコードを増やすことを忘れないでください

class Database extends SQLiteOpenHelper
{
public Database(Context _myContext)
    {
    super(_myContext, DB_NAME, null, DB_VERSION_CODE);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        if(oldVersion > newVersion)
        {
            // create a new table what you want to create you can also check the existence of the table
        }
    }
}
于 2013-09-22T06:38:07.783 に答える
0

onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion)メソッドを実装してください。

于 2013-09-22T06:38:31.770 に答える
0

アプリケーションの未加工アセット ファイルを使用してデータベースの作成とバージョン管理を管理する Android ヘルパー クラスがあります。

これを見てください:

https://github.com/jgilfelt/android-sqlite-asset-helper

于 2013-09-22T06:41:50.347 に答える