在更新時,表格被單獨保留。我假設你已經實現了一個SQLiteOpenHelper
的子類來解釋這一點。 Android能夠處理版本更改的方式是在SQLiteOpenHelper
類中使用onUpgrade
。如果數據庫版本比應用程序預期的版本舊,則從SQLiteOpenHelper
的構造函數調用此方法。從onUpgrade
內部您將放棄舊桌子並創建新桌子。
onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion){
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
//we can change this to perform different behaviors
db.execSQL("DROP TABLE IF EXISTS "+MYDB.TABLE_NAME);
onCreate(db);
}
如果您使用的是新數據庫版本,請注意Android告訴您的方式,這一點非常重要。
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
那場DATABASE_VERSION
使用,所以你應該使用一個靜態最終成員INT作爲您的數據庫實現的一部分。
希望有幫助,如果您有任何疑問,請留下評論。