アプリのデータベースにテーブルをもう 1 つ追加します。
ただし、データを消去せずにアプリをアップグレードすると、新しいテーブルが自動的に追加されないようです。
したがって、新しいテーブルからデータを取得する必要がある一部のコードは失敗します。
アプリのアップグレード時に新しいテーブルを自動的に追加することはできますか?
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
于 2013-09-22T06:38:31.770 に答える
0
アプリケーションの未加工アセット ファイルを使用してデータベースの作成とバージョン管理を管理する Android ヘルパー クラスがあります。
これを見てください:
于 2013-09-22T06:41:50.347 に答える