安卓開發-Sqliteopenhelper使用

如果在安卓開發中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)會有一系列跟隨的問題。比如說數據庫升級、更新等。

最好是使用其封裝版本:SQLiteOpenHelper

繼承和擴展SQLiteOpenHelper類主要做的工作就是重寫以下兩個 方法。

onCreate(SQLiteDatabase db) : 當數據庫被首次創建時執行該方法,一般將創建表等初始化操作在該方法中執行。

onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):當打開數據庫時傳入的版本號與當前的版本號不同時會調用該方法。

除了上述兩個必須要實現的方法外,還可以選擇性地實現onOpen 方法,該方法會在每次打開數據庫時被調用。

自己在業務中重寫這些函數,然後通過helper的getWritableDatabase和getReadableDatabase來得到想要操作的數據庫。再進行操作就可以了。

--------------------------------

另外,判斷一個表在sqlite中是否存在,可以使用如下方法:

String sql = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='items'";
		Cursor cur = db.rawQuery(sql, null);
		int count = -1;
		while (cur.moveToNext()) {
			count = cur.getInt(0);
		}
		if (count <= 0) {
			// 表不存在
		} else {

		}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章