GreenDao<第一篇>:基本介绍

在Android项目中,越来越多的程序猿使用GreenDao作为数据库管理的框架,本章就来谈一谈GreenDao相关的知识。

说到学习GreenDao我并不建议一开始就查看别人的博客,学习第三方框架都是从官方的说明文档开始的,GreenDao的官网是:

http://greenrobot.org/greendao

下面我将带领大家走一遍官方说明文档

(1)对象/关系映射(ORM)

greenDAO的本质是为存储在关系数据库SQLite中的数据提供面向对象的接口。只需为数据模型定义,greenDAO将创建Java数据对象(实体)和DAO(数据访问对象)。这将为您节省大量无聊的代码,只需来回移动数据。除此之外,greenDAO还提供一些高级ORM功能,如会话缓存,急切加载和活动实体。

(2)性能

在我们所知的所有ORM中,greenDAO是最快的。 greenDAO对性能没有任何妥协。数据库非常适合存储大量数据,因此速度很快。使用greenDAO,大多数实体可以以每秒几千个实体的速率插入,更新和加载。

下图的比较主要针对Android greenDAO,OrmLite和ActiveAndroid的3种最流行的ORM框架。 greenDAO以大约2倍的速度插入和更新实体,并且加载实体的速度比ORMLite快4倍。对于典型应用,加载速度是最重要的。

图片.png
(3)加密支持

greenDAO支持加密数据库以保护敏感数据。

虽然较新版本的Android支持文件系统加密,但Android本身并不为数据库文件提供加密。因此,如果攻击者获得对数据库文件的访问权限(通过利用root访问权限,例如利用安全漏洞或欺骗root设备的用户),攻击者可以访问该数据库中的所有数据。使用受密码保护的加密数据库会增加额外的安全层。它可以防止攻击者打开数据库文件。

由于Android不支持开箱即用的加密数据库,因此您需要在APK中捆绑自定义的SQLite版本。这些自定义构建包含CPU相关的本机代码。所以你的APK大小会增加几MByte。因此,如果您确实需要加密,则应该只使用加密。

GreenDao<第二篇>:GreenDao的加密支持(sqlcipher的使用)

(4)GreenDao库的大小

greenDAO的核心库大小不到10万,因此添加greenDAO不会损害您的APK大小。

(5)活跃实体

如果需要,可以使实体“活动”:活动实体透明地解析关系(您只需调用getter),并具有更新,删除和刷新方法,以便于访问持久性功能。

(6)协议缓冲支持

greenDAO允许您将协议缓冲区(protobuf)对象直接保存到数据库中。如果您通过protobuf与服务器通信,则不需要其他映射。常规实体的所有持久性操作都可用于protobuf对象。我们相信这是greenDAO的独特功能。

(7)代码生成

greenDAO将生成Java数据对象(实体)和DAO对象。 DAO对象适用于允许最佳映射的实体。
未来计划:生成适配器,也许还有CRUD活动。

(8)开源

greenDA的源代码在GitHub上完全可用。源代码分发还包含一个JUnit测试套件,它使用了greenDAO的所有功能,因此是了解greenDAO的好方法。

(9)支持

greenDAO是开源的,并得到其开发人员和社区的支持。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容