Android4開發入門經典 之 第八部分:SQLite【私塾線上原創】

xinqing010發表於2012-03-01

SQLite基本知識

SQLite介紹

SQLite是一個開源的、嵌入式關係型資料庫。目前非常流行,firefox和iphone中也是使用的它,PHP5.0裡面也包含了SQLite。

SQLite是嵌入式的

SQLite引擎不是在獨立程式中執行,而是嵌入到程式中成為程式的一個部分。所以主要的通訊協議是在程式語言內使用API呼叫,整個資料庫(定義、表、索引和資料本身)都在宿主主機上儲存在一個單一的檔案中。

使用SQLite進行CRUD

Android提供了一個SQLiteOpenHelper,通過它可以容易的建立資料庫,如下:


java程式碼:
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){
// content是上下文環境,通常是一個Activity
// name是資料庫的名字,其實一個應用可以固定在這裡寫一個名字
// factory是遊標工廠,通常是null,使用系統提供的就可以了
// version資料庫版本,一般一個應用的版本號是一樣的,也可以在這裡固定寫上
super(context, name, factory, version);
}
public void onCreate(SQLiteDatabase db) {
// 建立資料庫過後的回撥方法,通常用來建立表和插入初始資料
String sql = "create table tbl_user (uuid varchar(20),name varchar(20))";
db.execSQL(sql);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新資料庫版本的操作
}
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
// 每次成功開啟資料庫後首先被執行的方法
}
}

實現新增功能,示例如下:


java程式碼:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);
SQLiteDatabase db = dh.getWritableDatabase();
 
ContentValues cv = new ContentValues();
cv.put("uuid", "u1");
cv.put("name", "u1name");
db.insert("tbl_user",null, cv);

實現修改功能,示例如下:


java程式碼:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);
SQLiteDatabase db = dh.getWritableDatabase();
 
ContentValues cv = new ContentValues();
cv.put("name", "uuuuuu");
 
db.update("tbl_user", cv, "uuid=?", new String[]{"u1"});

實現刪除功能,示例如下:


java程式碼:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);
SQLiteDatabase db = dh.getWritableDatabase();
db.delete("tbl_user", "uuid=?", new String[]{"u1"});

實現查詢功能,示例如下:


java程式碼:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);
SQLiteDatabase db = dh.getWritableDatabase();
 
Cursor c = db.query("tbl_user", new String[]{"uuid","name"},
"",null, "", "", "","");
while(c.moveToNext()){
String uuid = c.getString(c.getColumnIndex("uuid"));
String name = c.getString(c.getColumnIndex("name"));
 
System.out.println("uuid="+uuid+" , name="+name);
}

視訊配套PPT,視訊地址【 Android4開發入門經典獨家視訊課程

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26715458/viewspace-717432/,如需轉載,請註明出處,否則將追究法律責任。

相關文章