GreenDao系列之(2)设计及机制介绍
总体设计类图
以下会分拆成两个部分进行说明:
1、总体机制部分
2、Sql操作细节部分
总体机制
可以看到,有几个重要的类:
- AbstractDaoMaster : 总入口类,每个db有相应的AbstractDaoMaster去管理,一般情况下用于创建AbstractDaoSession,并且创建xxxDao的DaoConfig,然后交给AbstractSession进行xxxDao的实例创建。
- Database :db抽象接口,有标准的sql实例及sqlcipher加密后的两者实例
- AbstractSession :db会话,一个AbstractDaoMaster可以创建多个会话,每个会话拥有该该db下的所有AbstractDao实例,并且决定AbstractDao实例是否使用缓存机制。很难想象多个会话是用在什么场景,一般情况下只会有一个会话。