Android数据库框架-GreenDao入门,Android多线程实现方式及并发与同步

本文详细介绍了Android数据库框架GreenDao的使用,包括如何编写DaoManage类和DBHelper类进行数据操作。 DaoSession和DaoConfig类在GreenDao中的作用,以及在MainActivity中如何使用GreenDao进行增删改查。此外,文章还提到了Android 6.0后的权限管理,以及在实际应用中如何规划学习方向和面试突击。
摘要由CSDN通过智能技术生成

public DaoSession newSession(IdentityScopeType type) {

return new DaoSession(db, type, daoConfigMap);

}

这两个类可以创建Session绘画,有两种重载形式,一种可以让我们自定义类型。

(3)构造函数

public DaoMaster(SQLiteDatabase db) {

this(new StandardDatabase(db));

}

public DaoMaster(Database db) {

super(db, SCHEMA_VERSION);

registerDaoClass(UserInfoDao.class);

}

两个重载形式,一个时生成一个数据库,另一个则是注册Config,查看一下registerDaoClass类则会发现,daoConfigMap是一个Map结构

protected final Map<Class<? extends AbstractDao<?, ?>>, DaoConfig> daoConfigMap;

protected void registerDaoClass(Class<? extends AbstractDao<?, ?>> daoClass) {

DaoConfig daoConfig = new DaoConfig(db, daoClass);

daoConfigMap.put(daoClass, daoConfig);

}

通过传进来的UserInfoDao.class作为key,对这个daoConfig进行绑定操作。

而进入到DaoConfig类中,查看DaoConfig的源码时,可以看到注释中的介绍

/**

  • Internal class used by greenDAO. DaoConfig stores essential data for DAOs, and is hold by AbstractDaoMaster. This

  • class will retrieve the required information from the DAO classes.

*/

DaoConfig存储DAO的基本数据,并由AbstractDaoMaster所持有。 该类将从DAO类中检索所需的信息。即将DAO类作为key来检索信息

而DaoSession类则主要是用来操作DAO对象的,它有三个方法

(1)构造函数

public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>

daoConfigMap) {

super(db);

userInfoDaoConfig = daoConfigMap.get(UserInfoDao.class).clone();

userInfoDaoConfig.initIdentityScope(type);

userInfoDao = new UserInfoDao(userInfoDaoConfig, this);

registerDao(UserInfo.class, userInfoDao);

}

从代码中我们可以看到,构造函数做了这么几件事儿

1.取出map中对应DAO的daoConfig

2.初始化缓存类型

3.根据配置可以得到一个DAO对象

4.将DAO对象进行注册,也是通过Map进行管理

(2)getUserInfoDao方法

public UserInfoDao getUserInfoDao() {

return userInfoDao;

}

可返回dao对象,说明可以返回dao对象并对其进行具体的操作了。

(3)clear函数

public void clear() {

userInfoDaoConfig.clearIdentityScope();

}

clear函数就是清楚缓存的函数, clearIdentityScope()

2.3编写DaoManage类

其实,上面操作过后,可以直接进行数据库的使用了,但是这里仍然编写了一个DaoManage类,希望在使用过程中更方便的进行初始化工作

主要内容就是进行各种变量的初始化之后,获得数据库,获取DaoSession对象好对表进行数据操作。

代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值