Android如何升級Sqlite數據庫

最近因爲數據庫表需要增加字段,需要將已有版本的APP更新升級數據庫,因爲數據量還是比較大的,有些數據記錄到了本地數據庫中的,所以不能採取刪除數據重新下載。

onUpgrade()方法

在sqlite的幫助類,繼承SQLiteOpenHelper中有個方法,一般情況下咱們的這個方法基本不用,從方法名我們就能看出,是升級的意思,該方法是在APP版本升級且數據庫版本升高後系統自動執行的,也就是說,安裝新版本後,就會執行。參數如下:
onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion)
第一參數就是咱們的數據庫對象,第二個參數是升級之前的版本,如果你一次都沒有升級的化,一般情況在你之前創建sqlite的幫助類時傳入的最後一個參數就是你的歷史版本。我的之前傳入的是1,也就是說我之前的數據庫的版本號是1。

升級數據庫的步驟

  1. 升級APP的版本
    首先要把你的app的gradle文件中的
    versionCode 一定要大於之前的版本
    versionName “最新的版本名稱”
    如果沒有增加versionCode的話,是不會升級成功的還會報錯哦,會提示你無法升級版本號的信息。
  2. 在sqlite幫助類的onUpgrade() 方法中完善升級邏輯
	//重寫onUpgrade方法,向已有表中增加字段
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
		if (newVersion > oldVersion){
	            sqLiteDatabase.execSQL( "alter table Table add column xxx ");//這裏處理升級的邏輯
	        }
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章