本篇文章主要介绍了" Android数据库框架GreenDao&Realm实战分析",主要涉及到方面的内容,对于SQLite感兴趣的同学可以参考一下:
Android开发的童鞋应该都知道,使用官方的SQLite数据库,可以满足我们大部分增删改查的需求,然而随着Android技术的逐步成长,你会慢慢发现SQLit...
Android开发的童鞋应该都知道,使用官方的SQLite数据库,可以满足我们大部分增删改查的需求,然而随着Android技术的逐步成长,你会慢慢发现SQLite越来越不能满足我们的需求。总结为以下主要几点:
- 1、创表,增删改查需要些大量代码,开发效率极低。
- 2、需大量封装,测试繁琐。
- 3、效率极低(当你使用了GreenDao||Realm你会发现它完全不能接受)。
- 4、加密等操作需手动处理。
正因为SQLite的繁琐使用,Andorid也会随着JAVA 的脚步出现大量的ORM框架,类似于JAVA Web的Hibernate。
目前流行的Andorid数据库框架
下面先列出目前流行的常见ORM框架:ORMLite、Afinal、ActiveAndroid、SugarORM、GreenDao、Realm
下面给出他们对应的仓库地址,从地址热度、star、更新时间,你也基本能判断出他们目前的流行程度与使用人数。
ORMLite:https://github.com/j256/ormlite-android
Afinal:https://github.com/yangfuhai/afinal
ActiviteAndroid:https://github.com/pardom/ActiveAndroid
SugarORM:Android 平台专用ORM
GreenDao:https://github.com/greenrobot/greenDAO
Realm:https://github.com/realm/realm-java
解析主角GreenDao&Realm
背景
以上框架我使用过ORMLite&Afinal&GreenDao&Realm,没使用过的我先暂不评价,最开始我准备通过这4个框架的对比为大家进行分析,然而当我写ORMLite的时候,发现其的ORM封装并没有什么大的作用,唯一让我觉得能夸赞一点的地方,ORMLite他不在需要去写表结构以及SQL语句,我们只需配置实体注解以及调用它的DAO进行数据库操作即可,相对于SQLite也仅仅只是这么点优点,仍然需要写大量的封装代码,这点其实已经很不愿意去使用它了,然而他的性能测试,使我完全放弃使用它,跟GreenDao&Realm完全不在一个层级上的,所以直接推荐大家不使用。至于Afinal,他里面还封装了很多其他的功能,也不是我们优选的数据库框架。
接下来轮到GreenDao&Realm登场,他们的实用性与性能如何,我们拿真实数据说话。网络对他们的资料介绍非常模糊,并且参差不齐。
下面我们逐步进行PK
1、开发环境需求
GreenDao: Android Studio即可。
Realm:
来自官方
Make sure make is available in your $PATH
Download the JDK 7 or JDK 8 from Oracle and install it.
Download & install the Android SDK Build-Tools 24.0.0, Android N (API 24) (for example through Android Studio’s Android SDK Manager)
Download the Android NDK (= r10e) for OS X or Linux.
2、版本对比:
GreenDao: org.greenrobot:greendao:3.1.0
Realm:io.realm:realm-android:0.84.1
3、引用方法
GreenDao: