Android存儲之SQLite

我發現Android官方提供的幫助文檔簡直就是神器,我看了一下關於SQLite的描述,單詞簡單,語言易懂,就翻譯了一小段,以後有時間會經常翻譯。


Android有的數據存儲跟windows幾乎一樣,大致有四種,第一是XML文件存儲;第二種是外部存儲,如小說之類的txt等文件存到sdcard上,通過IO操作進行存儲;第三種是數據庫存儲,可以是大型數據庫如MySQL,也可以是嵌入式的輕量級數據庫SQLite;第四種就是網絡存儲。

Android爲SQLite數據庫提供了全力支持,在一個應用中任何被創建的數據庫都可以在這個應用中通過數據庫名字調用,但是這些數據庫僅限本應用使用,不能跨應用。

使用SQLite數據庫有很多方法,比如通過JDBC來操作。但是Android爲我們創建了一個使用和管理數據庫的助手類,使用這個助手類我們將可以很容易的訪問數據庫,這個助手類就是SQLiteOpenHelper類,我們只需要創建一個子類繼承這個SQLiteOpenHelper這個父類並複寫其中的onCreate()方法,這樣你就可以通過自己創建的這個子類來執行SQLite中的命令來在數據庫中創建表,我們來看如何創建這個助手類的子類:

public class DictionaryOpenHelper extends SQLiteOpenHelper{
	//聲明瞭版本號是2
	private static final int DATABASE_VERSION = 2;
	//聲明瞭將要在數據庫中創建的表的名稱是dictionary
	private static final String DICTIONARY_TABLE_NAME = "dictionary";
	//聲明瞭創建表的語句,等會再的db.execSQL中直接調用DICTIONARY_TABLE_CREATE就行了
	private static final String DICTIONARY_TABLE_CREATE = "CREATE TABLE" + DICTIONARY_TABLE_NAME + "(" +KEY_WOED + "TEXT," + KEY_DEFINITION + "TEXT);";
	
	//重寫了DictionaryOpenHelper這個類的構造函數
	DictionaryOpenHelper(Context context){
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	//複寫了SQLiteOpen這個父類的onCreate方法,在數據庫中創建一張表
	@Override
	public void onCreate(SQLiteDatabase db){
		db.execSQL(DICTIONARY_TABLE_CREATE);
	}
}

通過上面的代碼可以看出,你可以通過自己定義的構造函數來得到一個SQLiteOpenHelper的實例對象,再通過這個對象的gerWritableDatabase()方法和getReadableDatabase()方法來對數據庫進行讀或者寫操作,調用這兩個方法之後都會返回一個SQLiteDatabase的對象來表示這個數據庫,你可以通過對這個SQLiteDatabase對象的操作來對數據庫進行各種操作。比如,你可以調用SQLiteDatabase對象的query()方法來執行SQLite中的查詢操作,每一條查詢語句都會返回一個遊標Cursor對象,這個對象指出查詢到的數據在第幾行。但是對於複雜的查詢操作就要用到SQLiteQueryBuilder這個類。


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