在我们进行Android开放时 会用到很多的存储数据的方式 :
SharePreferences: 本质上是一个xml文档 以键值对方式进行存取 适合用于存储数据量小 请求频繁的功能
Contert Provider: Android 四大组件之一 内容提供者 可以实现在应用程序之间共享数据.
File: 本地存储 io流方式 存取
网络存储: 目前不太清楚 可能跟Glide缓存机制的网络缓存原理相同.....目前不会
GreenDao:是一个对象关系映射(ORM Object RelationShop Mapping)的框架 提供一个接口通过操作对象的方式去操作关系型数据库
GreenDao 是一款用于操作数据库 创建数据库的框架 它为我们省去了大量写sql 语句的时间 挺高了工作效率
再也不用写哪些喜欢的SQ语句啦
GreenDao的使用
先粘依赖 以防被口马
implementation 'org.greenrobot:greendao:3.2.2'
配置 ↓
Project-gradle 配置
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
应用插件
粘在这个位置apply plugin: 'org.greenrobot.greendao'
你以为到这就完了 不 还有
配置就差不多了复制到 android { 中 }
greendao{
//指定数据库schema版本号,迁移等操作会用到;
schemaVersion 1
//dao层的包名,包名默认是实体所在的包;
daoPackage 'com.greendao.gen'
//生成数据库文件的目录;
targetGenDir 'src/main/java'
}
定义一个类
@Entity:将java普通类标志为一个能够被GreenDao可识别的数据库类型的实体类;跑一下项目
新生成包中文件的介绍
DaoDao : 数据访问对象(DAO)持续存在并查询实体。
DaoMaster: GreenDao的顶级对象,作为数据库对象、用于创建表和删除表
DaoSession: 管理所有的Dao对象,Dao对象中存在着增删改查等API
//App 中初始化 图片在下边
1 创建数据库 创建表
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this, "表名", null);
2 获取可写入数据库
SQLiteDatabase db = devOpenHelper.getWritableDatabase();
3 获取数据库对象
DaoMaster daoMaster = new DaoMaster(db);
4 获取Dao对象管理者
DaoSession daoSession = daoMaster.newSession();
不要忘记注册App
案例
定义了两个按钮 一个存 一个取
使用EventBus初始化控件 不用在意这就存入了
数据库 表的路径是 模拟器 data -- data --找到的自己的项目 ↓
取出
注意判空效果图
根据主键进行取出的 所有简单来说 抽象化的以键值对存取
麻雀虽小 但五脏有二 删除和修改以及数据库更新后续在写 因为:
晚安
网友评论