
Android数据库高手秘籍
本专栏主要讲解Android数据库相关的高级技术。其中包括了SQLite中一些不为人知的使用技巧,以及全面剖析 LitePal 这款Android数据库框架的所有用法。LitePal项目地址是:https://github.com/LitePalFramework/LitePal
guolin
每当你在感叹 如果有这样一个东西就好了的时候 请注意 其实这是你的机会
展开
-
Android数据库高手秘籍(十二),LitePal的索引功能
我发现今年我的技术产出真的是很不错,自从《第一行代码 第3版》出版之后,我空余出来了大量的时间,不仅频繁地更新和维护自己编写的开源库,还参加了多场GDG活动与大家分享技术。目前我手上正在维护的开源库主要是LitePal和PermissionX这两个,属于交叉维护的状态,升级完了这个就抓紧去写另外一个。其实今年我本来还准备再写一个新的开源项目,但是现在不知是否还能够抽出足够的时间,思路已完备,就是迟迟没动手。回到今天的主题,LitePal自上次3.1版本支持了事务之后,基本数据库该有的功能差不多都具备了,原创 2020-08-11 08:13:46 · 16910 阅读 · 28 评论 -
Android数据库高手秘籍(十一),LitePal支持事务功能了
LitePal内部的API在很早之前就支持了事务功能,因为要保证数据操作的原子性,不能出现部分成功部分失败的情况。然而,LitePal之前却从来没有提供过对外的事务接口,但是广大开发者却实实在在会有事务方面的需求。举个最常见的事务例子,你正在开发一个转账功能,需要先从一个账户中减去先一定的金额,然后向另一个账户中增加相同的金额。整套操作必须保证是原子性的,即要么同时成功,要么同时失败。如果部分成功的话,转账之后,账户的总金额就对不上了。为此,LitePal 3.1.0版本当中终于加入了事务接口的原创 2020-06-02 07:23:40 · 14014 阅读 · 16 评论 -
Android数据库高手秘籍(十),如何在Kotlin中更好地使用LitePal
自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留在简单的支持层面。Kotlin确实是一门非常出色的语言,里面有许多优秀的特性是在Java中无法实现的。因此,在LitePal全面支持了Kotlin之后,我觉得如果我还视这些优秀特性而不见的话,就有些太暴殄天物自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留原创 2018-10-12 07:07:03 · 19625 阅读 · 45 评论 -
Android数据库高手秘籍(九),赶快使用LitePal 2.0版本吧
今天很高兴告诉大家一个好消息,LitePal又出新版本了。算了一下,上个版本1.6.1已经是半年前推出的了,而整个开源项目自2014年推出以来,我已经维护了有四年之久。这四年以来,我不断地完善着LitePal的代码,修复各种大家提出的bug,以及补充各式各样好用的新功能。而今天,时隔半年,LitePal终于迎来了一次大的版本更新,正式发布了2.0.0版本原创 2018-06-11 07:34:42 · 43868 阅读 · 48 评论 -
Android数据库高手秘籍(八)——使用LitePal的聚合函数
在上一篇文章当中,我们已经把LitePal查询操作的所有用法都学习完了,很显然,LitePal帮我们提供了非常强大的查询API,使得我们可以极度轻松地完成各种类型的查询。但是呢,在SQL语句当中,有一种查询是比较特殊的,就是聚合函数查询,它不像传统查询一样是将表中的某些列的数据查询出来,而是将查询结果进行聚合和统计,最终将统计后的结果进行返回。因此,任何一个关系型数据库中都会提供像count()、sum()等聚合函数。那么不出你所料,LitePal当中也是对这些聚合函数都进行了封装,让我们的操作可以变得更加原创 2014-12-04 09:09:01 · 47374 阅读 · 128 评论 -
Android数据库高手秘籍(七)——体验LitePal的查询艺术
经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握了。现在回想起来了,增删改查四种操作中的前三种我们都已经学完了,不知道现在使用起数据库来,你有没有感觉到格外的轻松和简单。但是呢,我们都知道,在所有的数据库操作当中,查询操作肯定是最复杂的,用法也是最多的,因此LitePal在查询方面提供的API也是比较丰富,而且LitePal在查询方面的API设计也是颇为艺术的。那么今天我们就专门使用一篇博客来讲解一下查询操作的用法,体验一下LitePal查询的艺术。还没有看过前面一篇文章的朋友建议先去参原创 2014-11-13 09:03:29 · 123454 阅读 · 166 评论 -
Android数据库高手秘籍(六)——LitePal的修改和删除操作
在上一篇文章中,我们学会了使用LitePal进行存储数据的功能。确实,比起直接使用Android原生的API,LitePal明显简单方便了太多。那么,在增删改查四种操作中,我们已经把“增”学完了,今天就让我们继续趁热打铁,学习一下如何使用LitePal进行修改和删除操作。还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(五)——LitePal的存储操作 。LitePal的项目地址是:https://github.com/LitePalFramework/LitePal原创 2014-10-30 09:06:00 · 105235 阅读 · 188 评论 -
Android数据库高手秘籍(五)——LitePal的存储操作
经过前面几篇文章的学习,我们已经把LitePal的表管理模块的功能都很好地掌握了,相信大家都已经体会到了使用LitePal来创建表、升级表、以及建立表关联所带来的便利。那么从本篇文章开始,我们将进入到一个新模块的学习旅程当中,使用LitePal来进行表的CRUD操作。还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(四)——使用LitePal建立表关联 。LitePal提供的CRUD操作的API还是颇为丰富的,一篇文章肯定是介绍不全的,因此这里我们仍然是分几篇文章进行讲解,本篇主要是介原创 2014-10-16 09:22:30 · 93598 阅读 · 173 评论 -
Android数据库高手秘籍(四)——使用LitePal建立表关联
任何一个像样的程序都不可能仅仅只有一个类的,同样地,任何一个像样的数据库也不可能仅仅只有一张表。我们都知道,在面向对象的编程语言中,多个类之间可以相互关联引用,共同完成某项功能。那么在数据库当中,多个表之间可以相互关联吗?当然可以!只不过表与表之间的关联关系要比对象之间的关联关系复杂一些,也更加难懂,但是作为数据库的基本功,还是应该了解清楚的,那么我们就先来学习一下数据库表关联的基础知识。表与表之间的关联关系一共有三种类型,一对一、多对一、和多对多,下面我们分别对这三种类型展开进行讨论。原创 2014-09-25 09:00:55 · 85729 阅读 · 150 评论 -
Android数据库高手秘籍(三)——使用LitePal升级表
在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利。然而大家都知道,创建表只是数据库操作中最基本的一步而已,我们在一开始创建的表结构,随着需求的变更,到了后期是极有可能需要修改的。因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式,以及使用LitePal来进行升级表操作的用法。上一篇文章中我们借助MySQLiteHelper已经创建好了news这张表,然而,现在需求发生了变更,我们的软件除了能看新闻之原创 2014-09-18 08:19:56 · 84777 阅读 · 146 评论 -
Android数据库高手秘籍(二)——创建表和LitePal的基本用法
上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的。但是我们都知道,数据库是要和程序结合在一起使用的,单独对一个数据库去进行増删改查操作并没有什么意义,因此今天我们就来学习一下如何在Android程序当中去操作SQLite数据库。操作数据库的第一步当然是创建表了,传统创建表的方法相信大多数人都知道,那么今天我除了会展示传统的建表方法之外,还会讲解LitePal这个框架的基本用法,并使用它来完成同样的建表操作,让大家体会到使用框架来操作数据原创 2014-09-11 09:05:26 · 201008 阅读 · 305 评论 -
Android数据库高手秘籍(一)——SQLite命令
要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也是每个程序员都应该掌握的技能。虽说SQL博大精深,要想精通确实很难,但最基本的一些建表命令,增删改查,大家还是必须要学会的。SQL(Structured Query Language)是一种标准的数据库查询语言,即所有的关系型数据库都会支持它,只不过每种数据库对SQL语言的支持与标准存在着细微的不同。我们无须关心其它数据库对SQL语言的支持情况,这里我们只要把重点放在SQLite上就可以了。下面我将使用模拟器来对SQLite支持的各种命令原创 2014-09-04 09:10:17 · 113516 阅读 · 75 评论 -
Android数据库高手秘籍(零)——前言
我相信还是有不少Android程序员并没有将数据库编程掌握得非常娴熟,或者还只是处于比较简单的使用阶段,这主要是因为我们做客户端的程序员接触数据库的机会要比服务器端的程序员少得多。但是,能够很好地掌握数据库各方面的使用技巧,对于一个Android程序员来仍然是至关重要的,因此,这里我准备写一个《Android数据库高手秘籍》的专栏,带你一步步成为一个Android数据库高手,这是本专栏的第零篇文章原创 2014-09-04 09:07:19 · 54062 阅读 · 39 评论