转:Android 数据库框架总结,总有一个适合你!
推荐使用GreenDao
或Realm
一:OrmLite
简述: 优点: 1.轻量级;2.使用简单,易上手;3.封装完善;4.文档全面。缺点:1.基于反射,效率较低(本人还没有觉得效率低);2.缺少中文翻译文档
jar包 地址:http://ormlite.com/releases/
集成方法:把jar包复制到as的libs文件夹下,并且引用jar包即可
用于学习的相关博客:
我的博客
总结:比较好的一个数据库开源框架。不过git上很久没有更新了,貌似人家好像不在git上做项目维护了,而是在 官网 上做维护更新。
二:LitePal
简述:暂无
git 地址:https://github.com/LitePalFramework/LitePal
集成方法:compile ‘org.litepal.android:core:1.5.0’
用于学习的相关博客:
我的博客
郭霖的博客
总结:LitePal 框架是郭大神开源的数据库框架,他的博客也比较详细的介绍了其用法。还不错的框架。
三:GreenDao
简述:其优点还包括以下几点:1.存取速度快; 2.支持数据库加密; 3.轻量级; 4.激活实体; 5.支持缓存; 6.代码自动生成
git 地址:https://github.com/greenrobot/greenDAO
集成方法: compile ‘org.greenrobot:greendao:3.2.0’
用于学习的相关博客:
GreenDao3.2.0项目的接入和简单的使用
GreenDao3.2的使用,爱不释手
Android ORM 框架:GreenDao 使用详解(进阶篇)
GreenDao数据加密相关博客:
greenDAO的使用详解—(4)greenDAO3.2.2结合sqlcipher加密数据库
greendao3.0以上使用步骤(三):数据库加密
加密注意事项:
多添加一个依赖的
compile 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
1
网址:https://www.zetetic.net/sqlcipher/sqlcipher-for-android/
关于GreenDao3.2的升级处理一个不错的git地址:GreenDaoUpgradeHelper
总结:效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite的4.5倍,目前git上一直在做更新维护,start数量为9000多。
四:DBFlow
简述:其优点还包括以下几点:1.存取速度快; 2.支持数据库加密; 3.轻量级; 4.激活实体; 5.支持缓存; 6.代码自动生成
git 地址:https://github.com/Raizlabs/DBFlow
集成方法: 参考git地址中的内容
用于学习的相关博客:
DBFlow的初步使用
我所了解的Android数据库框架——DBFlow
总结:也是很不错的数据库框架,kotlin,rx好像都支持,比GreenDao3.2的使用好像跟方便一些(还没有具体使用)。目前git上一直在做更新维护,截止2018.1.19日前start数量为3944多。
五:Realm
简述:
1.易用:Ream 不是在SQLite基础上的ORM,它有自己的数据查询引擎。并且十分容易使用。
2.快速:由于它是完全重新开始开发的数据库实现,所以它比任何的ORM速度都快很多,甚至比SLite速度都要快。
3.跨平台:Realm 支持 iOS & OS X (Objective‑C & Swift) & Android。我们可以在这些平台上共享Realm数据库文件,并且上层逻辑可以不用任何改动的情况下实现移植。
4.高级:Ream支持加密,格式化查询,易于移植,支持JSON,流式api,数据变更通知等高级特性
5.可视化
git 地址:https://github.com/realm/realm-java
官网地址:https://realm.io/docs/java/latest/#getting-started
集成方法:官网中或相关博客中已做详细说明
用于学习的相关博客:
【Android】Realm详解
Realm For Android详细教程
郭霖微信推荐 地址
总结:目前git上一直在做更新维护,start数量也为7000多。数据库Realm,是用来替代sqlite的一种解决方案,它有一套自己的数据库存储引擎,比sqlite更轻量级,拥有更快的速度,并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,自动数据同步,简单身份验证,访问控制,事件处理,最重要的是跨平台,目前已有Java,Objective C,Swift,React-Native,Xamarin这五种实现。和 SQLite 不同,它允许你在持久层直接和数据对象工作。在它之上是一个函数式风格的查询api,众多的努力让它比传统的SQLite 操作更快 。在as3.0以上版本的集成方法: api ‘io.realm:realm-android-library:2.1.1’。官网上推荐的插件化集成方法,在as3.0以上会报错。
相关博客:
个人感觉这篇博客,对这两个框架的优缺点分析的很到位。得出的结论大概是:
(一万条数据测试结果:添加,删除速度大大优于 Realm。而查询速度却大大逊色于 Realm。)
Android数据库框架GreenDao&Realm实战分析
SQLite数据库框架ORMLite与GreenDao的简单比较