【5年Android从零复盘系列之三十】Android存储(5):数据库sqlite简介及框架选择分析

【5年Android从零复盘系列之三十】Android存储(5):数据库sqlite database


【代码是最好的老师】

1.概述

  1. SQLite 是Android平台轻量级的关系型数据库;
  2. 效率高、资源占用小
  3. 原生操作SQLite需要借助SQLiteOpenHelper帮助类,实际开发一般使用数据库框架
  4. 商用的成熟框架有greendao3+、litepal、DBFlow以及另辟蹊径的Realm

2.greendao

GreenDao使用全解

greendao具有以下优点,是搭建项目框架时的首选:

  1. 存取速度快
  2. 支持加密
  3. 轻量、api极简
  4. 支持缓存
  5. 中间代码自动生成,代码编写量小
  6. 开源至今,经历千锤百炼,稳定可靠

GitHub直达GreenDao

3.LitePal

LitePal使用全解

LitePal是郭霖大神开源的一款数据库框架。

LitePal同greendao一样,有共同的优点。

区别在,不同数据量、不同操作情形下,性能和资源占用各有些许差别。不过在2020+年代了,这些细微差别已经几乎是无感。

具体商用中,追求稳定,会更多地选择greendao。其缘由并不是LitePal弱势,而是greendao的有较大的使用基数,使其趋于完美。而LitePal后起之秀,及版本迭代,使用基数、开源考验度较小。

GitHub直达LitePal

4.Realm

GitHub直达Android Realm

Realm是专门为移动端设计的框架,支持ios/android

具有使用简单,性能优异,跨平台等优点,其中跨平台是其相对其他数据库的最大优势。

But,

  1. Realm不支持联合主键;
  2. 跨线程不能使用同一个realm实例;
  3. 存取只能以对象为单位
  4. 不支持自增长主键
  5. 对查询结果的修改都会被直接同步到数据库中

因此项目架构阶段需要权衡数据使用情况,再考虑使用Realm跨平台数据库

5.DBFlow

GitHub直达DBFlow

DBFlow使用全解

DBFlow是一个注解化(AnnotationProcessing)的ORM框架:

  1. 同Springboot一样的编码思维,让开发更专注于逻辑而不是死板的db代码
  2. 支持同步/异步/事务操作
  3. 支持自定义数据库储放路径
  4. 使用灵活、简洁,可读性高
  5. 编译期代码生成,运行时对性能是零损耗的,不逊于其他数据库框架
  6. 支持懒加载
  7. 【大招】可以直接注解化生成content provider依赖Schematic库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值