Android数据库比较
一:OrmLite
简述: 优点: 1.轻量级;2.使用简单,易上手;3.封装完善
缺点:1.基于反射,效率较低
二:GreenDao
优点:
- 库文件比较小,编译时间低,可以避免65K方法限制;
- 性能最大化;
- API 非常易用,提升了开发效率;
- 最小的内存开销;
- 可支持原生语句,从Android原生
SQLite
过度到GreenDao
相对还是比较容易; - 数据表结构和
Entity
数据结构convert
支持,Entity
的不同数据结构和数据库存储结构之间做一个灵活的转换;
缺点:
- 不支持组合主键,这个很少用到。
- 数据库表有关系时,在第一次请求上会有延迟并且之后的更新都不会自动同步,需要主动更新或者清楚缓存之后再请求,写的时候需要主动同时更新。当然这个也不算缺点,现在很多时候在数据库建表的时候很很少使用关联,要么建索引,要么查询的时候自己做关联。
- 不支持
min
、max
等函数,需要自己写sql
执行execSQL
。但这些都可以通过其他方式进行实现。 - 不支持合并写,写入的时候判断已有这条数据那么进行更新,没有则实现插入。
参考:https://blog.csdn.net/stven_king/article/details/102942905
三:Room
Room基于SQLite,提供一个抽象层,可以快速访问SQLite的所有功能。
room分为三部分:
1.Entity:数据库实体,系统根据Entity类创建数据库,里面规定了PrimaryKey
,列名、表名等数据库必备设定。
2.Dao:Database access object:定义了一些操作数据库的操作,比如说增删改查。
3.Database:可以认为是完整的数据库,完整的数据库包括数据库信息和数据库操作,也就是Entity
和Dao。
优点:
1)通过注解生成代码,减少代码量;
2)编译期SQL检查机制,降低风险;
3)对源生数据库做了一些优化性能的改写。
缺点:
1)没有缓存机制。
源码解析:https://blog.csdn.net/asd501823206/article/details/104883056/
Android数据库比较相关推荐
- 转载-Android数据库高手秘籍(一)——SQLite命令
原文地址: http://blog.csdn.net/guolin_blog/article/details/38461239 Android数据库高手秘籍(一)--SQLite命令 分类: And ...
- Android源码开发笔记 -- Android数据库,屏幕休眠时间
1. Android数据库问题(以下描述引用及参考http://blog.csdn.net/yin1031468524/article/details/71512996) 在Android7.0之后, ...
- Android数据库专家秘籍(七)经验LitePal查询艺术
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40153833 经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握 ...
- Android数据库高手秘籍(三)——使用LitePal升级表
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39151617 在上一篇文章中,我们学习了LitePal的基本使用方法,体验了使用框 ...
- Android 数据库基本操作-2
这个例子实现了一个完整的数据库操作示例.首先运行项目,初始化数据库(创建数据库.创建表):然后点击左方向键向表中插入一条数据,按右方向键删除一条数据,按数字键1修改表中指定的一条数据,数字键2可以删除 ...
- Android 数据库框架ormlite 使用精要
Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...
- Android数据库LitePal的存储操作
本文属于转载,在此声明,出处:http://blog.csdn.net/guolin_blog/article/details/38556989 并且感谢guolin分享了这么精彩的博文.以下正文: ...
- Android数据库高手秘籍(二):创建表和LitePal的基本用法
原文:http://blog.jobbole.com/77157/ 上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的.但是我们都知 ...
- Android数据库高手秘籍(一)——SQLite命令
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38461239 要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也 ...
- android litepal可以指定存储目录吗,Android数据库LitePal的基本用法详解
前言 正好项目用了这种数据存储方式,特地写一篇加深印象,在我看来,LitePal是使用最简单,集成最方便的数据库,没有之一. LitePal 简介 LitePal 是一款开源的 Android 数据库 ...
最新文章
- Galaxy 生信平台(三):xlsx 上传与识别
- 智能医疗战场 人工智能如何赋能健康智能终端?
- Docker中宿主机与容器之间互传文件(docker cp的方式)
- Nginx -静态资源Web服务
- 分词消除歧义_角色标题消除歧义
- retorfit converter使用说明
- HttpClient 4 和 HttpClient 3 设置超时
- mybatis sql语句格式化 trim prefix suffix
- PIXI 宝物猎人(7)
- linux恢复rm删除文件ext4,EXT4中恢复使用rm命令误删除的文件
- 写在Groovy/Grails栏目开通的话
- 集线器,路由器,交换机的作用和差别是什么?怎样区分交换机,集线器,路由器?...
- The Google File System 中文版论文(下)(转载)
- Unet卷积神经网络架构
- 市场调研-全球与中国防破坏开关市场现状及未来发展趋势
- Landsat5数据下载中国地区1988年
- 《Event Structure Representation: Between Verbs and Argument Structure Constructions》翻译(一)
- 剪辑软件生成的mp4素材无法打开的修复方法
- Qt中的项目类型(二)
- 支付,造就金融科技生态契机——保险科技生态建设
热门文章
- 经典技术形态之--“五弯十”战法图解
- Openwrt动态域名解析
- 郭盛华:黑客破坏Okta的GitHub存储库,窃取源代码
- 丛林战争游戏数据库设计
- UI自动化:UI Automation
- 网络最强CASE工具 + 经典UML学习电子资下载汇总
- Servlet生命周期与Web容器架构及处理请求详解
- 合并报表编制采用的理论_合并报表编制理论知识(必读)
- docker-compose搭建prometheus+granafa+alertmanager+dingtalk
- 电脑一键重装系统内存完整性无法打开怎么办