上一篇讲了GreenDao的配置,本篇着重于API的各种使用,并附上Demo。
类的关系
大家还记得上一篇讲到的代码自动生成的四个类,DaoMaster
,DaoSession
,Dao
,User
,排除最后一个User
实体类不说,其他三个的关系应该是非常明确的。
从图上看出,得到User对象的步骤。其中还有些细节需要说明。
获取DaoMaster
用过数据库的程序圆都清楚,我们需要DaoSession
对象来进行对数据库的增删改查。
从DaoMaster
中有newSession()
的方法可以帮我们实现。
所以我们应该先实例化DaoMaster
,具体代码是
public DaoMaster(SQLiteDatabase db) {
super(db, SCHEMA_VERSION);
registerDaoClass(UserDao.class);
}
噢,需要一个SQLiteDatabase
实例,请拼命想一想怎么获取一个SQLiteDatabase
实例?
没错,通过SQLiteOpenHelper
,再仔细看一下DaoMaster
,好像已经提供了抽象类OpenHelper
继承了SQLiteOpenHelper
。
Cool!
可以获取DevOpenHelper
,具体代码是
/**
* WARNING: Drops all table on Upgrade! Use only during development.
*/
public static class DevOpenHelper extends OpenHelper {