我正在開發Android 3.1及更高版本。在Android項目上實現DAO模式
我有以下軟件包:
es.viacognita.models
含有類存儲與Web服務檢索到的數據。當我獲得所有的Web服務數據時,我需要將其插入到數據庫中。
爲了使它正確,我以爲使用DAO模式,但我不知道該怎麼做。
如果我使用DAO模式,可能需要使用es.viacognita.models
類嗎?我認爲這些課程將成爲DAO課程,不是嗎?
我必須在哪裏實現插入,更新或刪除?在DBManager
類?
我正在開發Android 3.1及更高版本。在Android項目上實現DAO模式
我有以下軟件包:
es.viacognita.models
含有類存儲與Web服務檢索到的數據。當我獲得所有的Web服務數據時,我需要將其插入到數據庫中。
爲了使它正確,我以爲使用DAO模式,但我不知道該怎麼做。
如果我使用DAO模式,可能需要使用es.viacognita.models
類嗎?我認爲這些課程將成爲DAO課程,不是嗎?
我必須在哪裏實現插入,更新或刪除?在DBManager
類?
您可以實現插入,更新,刪除等所有操作在DBManager類或創建一個單獨的類DAO它做所有你想在數據庫上執行的操作...
public class DAO {
private SQLiteDatabase database,customdb;
private DBManager dbHelper;
public DAO(Context context) {
dbHelper = new DBManager(context);
}
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
public void close() {
dbHelper.close();
}
//insering,deleting and all other operations you want to perforem on the database
}
我會使用DBManager的命名空間。我把你的模型類視爲商業實體類,併爲DAO(DAL)層創建一個單獨的庫。使用這種方法,您可以將業務邏輯與數據訪問層分開。
謝謝您的回答。我還有一個問題:我如何實現交易?謝謝。 – VansFannel 2012-04-15 15:05:09
你是什麼意思交易?插入,刪除和其他操作? – 5hssba 2012-04-15 15:06:42
是的。我必須插入很多表,如果其中一個失敗了,我必須撤消所有以前的插入。 – VansFannel 2012-04-15 15:13:44