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 第一步使用教學,資料庫&資料表的建立、創立、創造、生成








 


arrow
arrow
    全站熱搜

    顏澤偉 發表在 痞客邦 留言(0) 人氣()