Android 平台上的数据库框架很是多,可是有一个共同特色就是基于对象关系映射(ORM)模型的。实现的目标也都是不须要写SQL语句,经过对对象的操做保存和操做数据。要是从语法的简洁性来讲都有本身的特色,总的来讲不相上下,所以只能从数据的性能上来抉择了。html
GreenDao
简单介绍:GreenDao是为Android设计的对象关系映射(ORM)工具。它提供了对象到关系型数据库SQLite的相应接口。为了在Android工程中使用greenDao,须要建立另外一个“生成器”工程,它的任务是在你的工程域里生成具体的代码。所以相比与其它ORM框架具备出众性能。
使用方法:GreenDao:3.2.0用方法java
LitePal
简单介绍:LitePal是对象关系映射(ORM)模型。它使开发者使用SQLite数据库变得很是容易。 你能够不用写一句SQL语句就能够完成大部分数据库操做,包括建立表,更新表,约束操做,聚合功能等等。
使用方法:(懒人必备)Android开源数据库LitePalandroid
Afinal
简单介绍:是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用。FinalDB模块,android中的orm框架,一行代码就能够进行增删改查。支持一对多,多对一等查询。
使用方法:FinalDb操做sqlite的数据库(增删改查)git
ORMLite
简单介绍:(Object Relational Mapping Lite)提供了一些轻量级持久化Java对象到SQL数据库,同时也避免了复杂性和更多的标准的ORM包的开销功能。它支持的SQL数据库使用JDBC的数量,还支持原生的Android操做系统数据库API调用sqlite。
使用方法:Android 数据库框架ormlite使用精要github
SugarORM
简单介绍:是对象关系映射模式。不用写复杂的sql语句,而用简单的API便可完成建立和操纵数据;能够在原有的Bean上仅仅添加小的修改而复用Bean;简化而明了的数据库设计和建立过程,同时提供表的一对多的支持。
使用方法:Android SugerORM框架的使用sql
Realm
简单介绍:是用来替代sqlite的一种解决方案,它有一套本身的数据库存储引擎,比sqlite更轻量级,拥有更快的速度,而且具备不少现代数据库的特性,好比支持JSON,流式api,数据变动通知,自动数据同步,简单身份验证,访问控制,事件处理,最重要的是跨平台,目前已有Java,Objective C,Swift,React-Native,Xamarin这五种实现。
使用方法:Realm for Android详细教程数据库
LiteOrm
简单介绍:是android上的一款数据库(ORM)框架库。速度快、体积小、性能高。开发者基本一行代码实现数据库的增删改查操做,以及实体关系的持久化和自动映射。设计原则:轻量、专一、性能优先、线程无关,专一数据及其关系存储和操做;无需工具辅助,不须要无参构造,不须要繁多注解,约定优于配置;使用极致简约,例如:db.save(u); db.query(U.class); db.deleteAll(U.class);。
使用方法:Android 数据库框架LiteOrm使用api
DBFlow
简单介绍:综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优势。同时不是基于反射,因此性能也是很是高,效率紧跟greenDAO其后。基于注解,使用apt技术,在编译过程当中生成操做类,使用方式和ActiveAndroid高度类似,使用简单。无缝支持多个数据库,使用annotation processing提升速度,ModelContainer类库能够直接解析像JSON这样的数据,增长灵活性的丰富接口。
使用方法:Android技术前沿:DBFlow的实践微信
具体对比仔细查看下列图表
app
LiteOrm 和 greenDAO 的性能表现
从图中能够看出 Realm 的性能应该是最好的,同时它执行跨平台,且并非采用 SQLite 的持久化引擎。可是也有很多的缺点(具体查看文章为何我再也不使用Realm)。
greenDAO 是基于AndroidSQLite的最快、性能最强悍的数据库框架,由于他不涉及反射,靠的是代码辅助生成。
固然,不论哪款ORM或数据库框架,都各有利弊,至于该选用哪一款,可自行斟酌,开发者最好本身亲身体验下,毕竟绝知此事需躬行,只听或者看别人的言论和结果,无异于直接吃别人嚼过的东西,没有味道不重要,变了味会影响我的判断。
本文原创发布于公众号【AndroidParks】,微信搜索androidparks或者扫一扫关注