訪問android的關係型資料庫SQLite,必須用到SQLiteOpenHelper這樣的類。
如果不用這個類比較麻煩複雜。既然有這樣的類,直接用就好了。
SQLiteOpenHelper是助手類,對資料庫的建立和版本管理進行操作的。通過繼承類,來複寫一些方法,來實現對資料庫的操作。
getReadableDatabase()建立或者開啟一個資料庫。建立或者開啟的資料庫是可讀的。
查詢資料是讀操作。增加、刪除、修改是寫操作。
SQLitedatabase是提供管理SQLite資料庫的一些方法。如inSert、isOpen、query、update。
要想對資料庫進行操作,必須得到SQLiteDatabase這樣類的對象才能對資料庫進行操作。如何得到這個對象呢,首先得到一個SQLiteOpenHelper對象,然後用SQLiteOpenHelper對象的getReadableDatabase、getWriteableDatabase來得到一個可讀或者可寫的資料庫來得到一個SQLiteDatabase對象,再用這個對象對資料庫進行操作就可以了。
onCreate(SQLiteDatabase db)、onOpen(SQLiteDatabase db)、onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)這三個函數是回呼函數,當執行某項操作的時候,就會調用這些函數。如當建立資料庫、開啟資料庫、更新資料庫的時候,就會調用這三個回呼函數。
建立表結構的操作在onCreate(SWLiteDatabase db)方法中編寫
升級資料庫,增加表、修改表名稱,可以在onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)方法中編寫
總結:
需要操作sqlite資料庫的時候,必須有SQLiteOpenHelper這樣的一個類的對象,但是由於該類為抽象類別,所以必須自己寫個類來繼承它。繼承後,就有2個函數:getReadableDatabase、getWriteableDatabase。這2個對象,都是SQLiteDatabase類的對象。當查詢資料庫的時候,就需要用getReadableDatabase這樣的類,當對資料庫進行增、刪、改操作的時候,就需要用到getWriteableDatabase這樣的類來得到SQLiteDatabase這樣一個對象。
除此之外,還可以複寫onCreate、onOpen、onUpgrade。