引言 最近,學東西比較零散,各種知識混雜,於是記下學習記錄,免得又忘了。 官方網址:http://greenrobot.org/greendao/documentation/introduction/ 首先介紹一下什麼是greenDAO,在java object 對象與SQLite資料庫之間加入Gr ...
引言
最近,學東西比較零散,各種知識混雜,於是記下學習記錄,免得又忘了。
官方網址: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();