1. 程式人生 > >Android GreenDAO3.0——介紹

Android GreenDAO3.0——介紹

load .cn ast 刪除數據 col base objects 應用 wid

引言

最近,學東西比較零散,各種知識混雜,於是記下學習記錄,免得又忘了。

官方網址:http://greenrobot.org/greendao/documentation/introduction/

首先介紹一下什麽是greenDAO,在java object 對象與SQLite數據庫之間加入GreenDAO,使得我們的應用程序不直接操作數據庫,而是調用greenDAO提供的接口完成數據庫操作。

這樣做的好處是可以避免我們寫大量的數據庫操作代碼,避免因為疲勞犯下一些低級的錯誤。

技術分享

GreenDAO核心類

  • DaOMaster——該類持有數據庫對象,並管理DAO classes(是class文件),並包含創建和刪除數據表table的方法。它的內部類OpenHelper和DevOpenHelper是SQLite接口SQLiteOpenHelper 的實現,因此該類具有操作數據庫的潛質。
  • DaoSession——管理所有的可用DAO 對象, DaoSession提供類似insert, load, update, refresh,delete 的方法。
  • DAOs——全稱為Data access objects,對於Entity,都可以通過GreenDao生成DAO。並且該對象提供的操作數據庫方法多余DAOSession。
  • Entity——java POJO或者JavaBean

技術分享

上圖就是核心類之間的關系,很明顯的結構關系哦。

GreenDAO核心類的初始化

該段代碼可以在Android app項目的application中插入。

// do this once, for example in your Application class
helper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
// do this in your activities/fragments to get hold of a DAO
noteDao = daoSession.getNoteDao();

Android GreenDAO3.0——介紹