在前面的一篇文章中,我給大傢介紹瞭SQLite這樣一個開源、免費的數據庫,並給出瞭C#ADO.Net模式下的代碼。其實,不隻是在C#中可以使用SQLite,在Android中同樣提供瞭SQLite並作為整個系統的數據庫供大傢使用,考慮到數據庫在實際開發中的重要性,所以,我們今天就來學習Android中SQLite的用法。數據庫的操作無外乎增加、刪除、修改、更新四種操作。在Android中,我們可以使用原生的SQL和Android封裝好的接口對SQLite進行操作,我們選擇後一種,使用Android封裝好的接口,要使用該接口,我們必須繼承一個稱為SQLiteOpenHelper的輔助類。下面我們來看代碼:
package com.Android.SQLiteHelper; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DataBaseHelper extends SQLiteOpenHelper { //數據庫名 private final static String DataBaseName="Students.db"; //數據表名 private final static String DataTableName="Student"; //創建數據表SQL語句 private final static String CreateTable="CREATE TABLE Student(id integer primary key autoincrement,name text,age text,sex text)"; //構造函數 public DataBaseHelper(Context c) { super(c, DataBaseName, null, 1); } //創建數據表 @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CreateTable); } //插入數據 public void Insert(ContentValues values) { SQLiteDatabase db = getWritableDatabase(); db.insert(DataTableName, null, values); db.close(); } //請求數據,參數依次為數據表名,待查詢關鍵字,查詢表達式,查詢表達式值,排序字段 //這個方法用起來還有點問題,暫時註釋掉,等解決瞭再告訴大傢 //public Cursor Query(String TableName,String[] KeyWords,String Express,String[] ExpressArgs,String OrderBy) public Cursor Query() { SQLiteDatabase db = getWritableDatabase(); Cursor c = db.query(DataTableName, null, null, null, null, null, null); return c; } //刪除數據 public void Delete(String TableName,String Express,String[] ExpressArgs) { SQLiteDatabase db = getWritableDatabase(); db.delete(TableName, Express, ExpressArgs); db.close(); } //使用原生的SQL public void ExecSQL(String SQLString) { SQLiteDatabase db = getWritableDatabase(); db.execSQL(SQLString); } //更新數據庫 @Override public void onUpgrade(SQLiteDatabase db, int Last, int Now) { //暫時不用,所以不寫,如果需要,就是刪除舊表,創建新表的過程 } }