close
DAO(Database Access Object) Design Model
是一個將資料操作獨立分離出來的設計模式
DAO 主要是讓處理及操作資料庫更為方便
將很多複雜的資料操作語法和業務邏輯分開
讓程式碼看起來簡潔
維護上也更容易
通常會有一個 DAO 的介面以及一個 DAO 的實現類別
public interface SQLiteDAOInterface {
public void close() ;
public boolean insert(JSONObject object) ;
public boolean update(String word, ContentValues contentValues):
public int delete(String word);
}
Interface中的方法可以依自己的需求去建立
這裡我只舉例了幾個較常用的方法
完成Interface之後就可以依照實際狀況來實作程式碼
public class SQLiteDAO implements SQLiteDAOInterface{
// 資料庫物件
private SQLiteDatabase readDb, writeDb;
// 建構子,一般的應用都不需要修改
public SQLiteDAO(Context context) {
SQLiteHelper sqLiteHelper = new SQLiteHelper(context);
readDb = sqLiteHelper.getReadableDatabase();
writeDb = sqLiteHelper.getWritableDatabase();
}
// 關閉資料庫,一般的應用都不需要修改
public void close() {
readDb.close();
writeDb.close();
}
// 新增參數指定的物件, 這裡用JSONObject來傳資料
public boolean insert(JSONObject object) {}
// 修改參數指定的物件, 輸入條件參數&修改值
public boolean update(String where,
ContentValues contentValues) {}
public int delete(String where) {}
}
如上面的程式碼所示
你可以在insert、update、delete裡加入您要的sql語法
這樣一來Database Access Object就完成囉
使用的時候只要new 這一個 Object 就可以對資料庫進行操作了
是不是很方便呢?
需要維護修改時也只要來這個class做修正就好了
下面是使用的情況
SQLiteDAO dao = new SQLiteDAO(this);
JSONObject words = jsonObject.optJSONArray("words");
JSONObject word = words.optJSONObject(i);
dao.insert(word);
dao.close();
恭喜你現在可以用SQLite進行資料的存取囉!!!
點我看Android SQLite 第一步使用教學,資料庫&資料表的建立、創立、創造、生成
全站熱搜