Android Room数据初识与使用

Room属于Google推出的JetPack组件库中的数据库框架
分析

Realm

高性能, 比SQLite快十倍
支持RxJava/Kotlin
但不支持嵌套类而且要求字段指定默认值, 嵌套数据类我觉得不可或缺
自定义数据库引擎, 故会要求导入JNI库, 会导致apk体积暴增(多个架构平台整合超过5MB)
函数设计比较复杂
官方图形工具相对简陋但实时更新
跨平台, Android/iOS/Mac/Windows
支持监听数据库

DBFlow

主要使用函数操作数据库, 学习成本高
原生支持数据库加密
支持监听数据库
支持协程/Kotlin/RxJava
冷门, 特别是国内

GreenDao

比较落伍, 配置复杂
不支持监听数据表/Kotlin/协程等特性
已经不再积极维护, 官方目前积极维护旗下另外开源数据库ObjectBox

ObjectBox
2. 号称世界最快嵌入式数据库
3. 不支持嵌套对象
4. 体积小(最小压缩到增加体积1MB)
5. 函数设计简单优雅
6. 支持DSL
7. 支持监听数据库
8. 浏览器查看数据库, 仅查看
9. 根据配置生成的JSON文件自动迁移
10. 跨平台, Android/iOS/Mac/Windows/Go

ROOM
主流
支持SQL语句
操作数据库需要编写抽象函数
官方维护, JetPack组件中的数据库框架
监听数据库
支持嵌套对象
支持Kotlin 协程/RxJava
具备SQL语句高亮和编译期检查(具备AndroidStudio的支持)
使用SQLite便于多个平台的数据库文件传递(例如有些联系人信息就是一个SQLite文件)
由于是SQLite可以通过第三方框架进行数据库加密(ROOM原生不支持)
可以配合AndroidStudio自带的数据库查看工具窗口

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值