安卓持久框架Room VS GreenDao
一 、Room的基本使用
1、导包:
1 2 |
|
2、添加数据库
1 2 3 4 5 6 |
|
3、Application里面初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
4、建立实体类(get和set方法一定要加上)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
5、添加UserDao
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
6、使用
1 2 3 4 5 6 7 8 |
|
数据库的操作就到这里,结束了。
下面来看一下数据库的升级管理
此次升级,增加了一张Fruit表
1、添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
2、添加实体类和相应的Dao
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
3、添加升级操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
以上就是Room的基本使用
二、GreenDao的基本使用
1、添加依赖(看清楚相应的文字说明,应该添加到哪里。别搞错)
1 2 3 4 5 6 7 8 9 10 |
|
2、设置版本号、生成目录等
1 2 3 4 5 6 7 8 9 |
|
3、初始化数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
4、创建实体类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
5、编译,这步很重要。步骤三的有些报错的地方都是这步编译后导入的包。
具体操作:Build--->Make Project
6、使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
GreenDao的基本使用就是上面这些了。
下面来看看,Room和GreenDao的区别
GreenDao | Room |
---|---|
开发者只需要规定Entity的属性即可 | 需要规定Entity的属性,需要规定Dao接口 |
每次更新Entity需要重新build以生成代码,大型项目build耗时会比较久 | 更新Entity不需要重新build,因为使用的是Dao接口规定的方法,但是需要根据情况更新Dao接口 |
只有进行复杂操作时才需要写SQL语句 |
即使是进行简单的条件查询,也要写SQL语句 |
有一定的学习成本,需要学习注解、查询、条件语句等API | 学习成本低,基本只需要掌握Room的注解即可 |
最后,两者的速度对比,GreenDao在批量操作数据的情况下,会比Room慢,慢不少。
安卓持久框架Room VS GreenDao相关推荐
- 安卓表格框架-ExcelView
转载请标明来源:安卓表格框架-ExcelView_分享+记录-CSDN博客 Github地址,欢迎star:https://github.com/September26/ExcelView 一.项目介 ...
- 安卓MediaPlayer框架之Binder机制
Binder简介 Binder是Android系统进程间通信的主要方式之一. 1.在ASOP中,Binder使用传统的C/S通信方式:即一个进程作为服务端提供诸如视音频解封装,解码渲染,地址查询等各种 ...
- 框架下载_最新安卓XDA框架插件下载仓库
小技能 大乐趣每周小小黑科技技能.软件.干货.影院 微信1秒I语音Mp3|音乐转码器制作语音点歌 有了它再也不用到处找框架模块资源 最新20190502版本 陪伴是最长情的告白 Xposed框架激活 ...
- JDO持久框架——DataNucles
1. JDO框架简介 Java数据对象(Java Data Objects,JDO)是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL ...
- android安卓-开源框架汇总
原帖: 跳转 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(sch ...
- 安卓常用框架、模块、软件
为了避免问题 都先开启开发者模式 开启usb安装.调试.停用adb授权超时功能 面具 Riru和Zygisk 简单说来 就是Zygisk更强悍,riru以及停止更新了,但部分老插件可能只支持riru ...
- 安卓网络框架,上传图片花图,上传状态411被服务器驳回
先看下一开始使用的网络框架核心代码: private Message doPost(final String url, final Map<String, String> params, ...
- android 开源框架mvvm,relight: A light MVVM framework for Android. 一个轻量级的安卓MVVM框架...
优势 稳定 减少内存泄漏:新手很容易在线程切换的地方写出导致内存泄漏的代码,但如果把线程切换交给框架来做,出错的概率就大大降低. 减少 crash:根据我的开发经历,大部分 crash 都是空指针导致 ...
- 安卓SurfaceFlinger框架初探
大家都知道SurfaceFlinger是安卓图形的引擎.安卓view的显示,OpenGL的显示必须通过SurfaceFlinger,才能显示到屏幕上. 按照常理,大部分开发者不喜欢文字,我也一样.另外 ...
- uiautomator2安卓测试框架报No tests found for given includes
uiautomator2测试框架报No tests found for given includes,意思是找不到测试类: 怀疑是项目没编译成功,但是android statio的gradle没有bu ...
最新文章
- 使用第三方工具覆写Object中方法
- lib和dll文件的区别和联系
- python-day22(序列化)
- ITK:将像素缓冲区导入到图像中
- 任正非:华为三十年大限快到了,想不死就得新生
- 60个Java练手项目案例,看了让你茅塞顿开~
- 连锁零售多门店收银系统源码
- Kafka的Topic删不掉
- 分享5个高质无损音乐网站,歌曲很丰富,爱听歌的小伙伴有耳福了
- 服务器usb驱动安装系统安装失败怎么办,USB3.0驱动无法安装失败怎么办?USB驱动失败失败的解决方法...
- 跨时区存储跨时区展示时间 | js 获取当前UTC时间
- 七大黄金定律与产品设计
- 关于个人网贷查询系统网贷信用查询,公司开发图片整合技术
- 计算机不显示验证码,浏览器中网页验证码不显示的原因与解决办法
- cαr怎么发音_最全英语口语发音规则与技巧
- $reday和window.onload()
- 数字图像处理 总复习(第七章)*秋昊
- 6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!
- (CVE-2020-11800)Zabbix_Server_trapper_命令注入漏洞
- 在两台 ubuntu 之间传输大文件