Android 数据库框架总结,总有一个适合你!

技术小能手 2018-10-08

android 加密 数据库 sqlite git github

一: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 框架是郭大神开源的数据库框架,他的博客也比较详细的介绍了其用法。还不错的框架。

三:GreenDao3.2

简述:其优点还包括以下几点: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'

网址: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地址中的内容

 ●  用于学习的相关博客:

总结:也是很不错的数据库框架,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

 ●  集成方法:官网中或相关博客中已做详细说明

 ●  用于学习的相关博客:

总结:目前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以上会报错。


原文发布时间为:2018-10-6

本文来自云栖社区合作伙伴“Android开发中文站”,了解相关信息可以关注“Android开发中文站”。


登录 后评论
下一篇
冒顿单于
10702人浏览
2019-08-28
相关推荐
学习:Android框架
430人浏览
2014-05-03 20:59:00
0
0
0
1005