摘要: ContentProvider是Android四大组件之一,网上也有不少关于它的文章,基本用法都可以查到,但关于UriMatcher在其中的作用,文章中都有例子,但我觉得还没有说清楚。 先说为什么用UriMatcher。 ContentProvider向外界提供了一个标准的,也是唯一的用于查询的接口 阅读全文
posted @ 2016-03-03 18:52 dodo-yufan 阅读(11286) 评论(0) 推荐(0) 编辑
摘要: static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例: 示例一 [java] view plain cop 阅读全文
posted @ 2016-03-03 16:47 dodo-yufan 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 6.5.1 使用事务 前面我们已经知道,SQLite 数据库是支持事务的,事务的特性可以保证让某一系列的操 作要么全部完成,要么一个都不会完成。那么在什么情况下才需要使用事务呢?想象以下场 景,比如你正在进行一次转账操作,银行会将转账的金额先从你的账户中扣除,然后再向收 款方的账户中添加等量的金额。 阅读全文
posted @ 2016-03-03 14:55 dodo-yufan 阅读(935) 评论(0) 推荐(0) 编辑
摘要: 虽然 Android 已经给我们提供了很多非常方便的 API 用于操作数据库,不过总会有一些 人不习惯去使用这些辅助性的方法,而是更加青睐于直接使用 SQL 来操作数据库。这种人 一般都是属于 SQL 大牛,如果你也是其中之一的话,那么恭喜,Android 充分考虑到了你们 的编程习惯,同样提供了一 阅读全文
posted @ 2016-03-03 14:52 dodo-yufan 阅读(961) 评论(0) 推荐(0) 编辑
摘要: 掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了。不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作。 我们都知道 SQL 的全称是 Structured Query Language,翻译成中文就是结构化查询语言。 它的大部功能都是体现在“查”这个字上 阅读全文
posted @ 2016-03-03 14:51 dodo-yufan 阅读(19783) 评论(1) 推荐(0) 编辑
摘要: 删除数据对你来说应该就更简单了,因为它所需要用到的知识点你全部已经学过了。 SQLiteDatabase 中提供了一个 delete()方法专门用于删除数据,这个方法接收三个参数,第一 个参数仍然是表名,这个已经没什么好说的了,第二、第三个参数又是用于去约束删除某一 行或某几行的数据,不指定的话默认 阅读全文
posted @ 2016-03-03 14:49 dodo-yufan 阅读(15924) 评论(0) 推荐(0) 编辑
摘要: 学习完了如何向表中添加数据,接下来我们看看怎样才能修改表中已有的数据。 SQLiteDatabase 中也是提供了一个非常好用的 update()方法用于对数据进行更新,这个方法 接收四个参数,第一个参数和 insert()方法一样,也是表名,在这里指定去更新哪张表里的数据。第二个参数是 Conte 阅读全文
posted @ 2016-03-03 14:47 dodo-yufan 阅读(18056) 评论(0) 推荐(1) 编辑
摘要: 现在你已经掌握了创建和升级数据库的方法,接下来就该学习一下如何对表中的数据进 行操作了。其实我们可以对数据进行的操作也就无非四种,即 CRUD。其中 C 代表添加 (Create),R 代表查询(Retrieve),U 代表更新(Update),D 代表删除(Delete)。每一种操 作又各自对应了 阅读全文
posted @ 2016-03-03 14:44 dodo-yufan 阅读(7340) 评论(0) 推荐(0) 编辑
摘要: 如果你足够细心,一定会发现 MyDatabaseHelper 中还有一个空方法呢!没错,onUpgrade() 方法是用于对数据库进行升级的,它在整个数据库的管理工作当中起着非常重要的作用,可 千万不能忽视它哟。 目前 DatabaseTest 项目中已经有一张 Book 表用于存放书的各种详细数据 阅读全文
posted @ 2016-03-03 14:42 dodo-yufan 阅读(3943) 评论(0) 推荐(0) 编辑
摘要: SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K 的内存就足够了,因而特别适合在移动设备上使用。SQLite 不仅支持标准的 SQL 语法,还遵循了数据库的 ACID 事务,所以只要你以前使用过其他的 关系型数据库,就可以很快地上手 SQLite。而 阅读全文
posted @ 2016-03-03 14:40 dodo-yufan 阅读(47637) 评论(1) 推荐(0) 编辑
摘要: 既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项目,来编辑一下登录界面的布局。修改 login.xml 中的代码,如下 所示: <TableLayo 阅读全文
posted @ 2016-03-03 14:23 dodo-yufan 阅读(4582) 评论(0) 推荐(0) 编辑
摘要: 不同于文件的存储方式,SharedPreferences 是使用键值对的方式来存储数据的。也就是 说当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可 以通过这个键把相应的值取出来。而且 SharedPreferences 还支持多种不同的数据类型存储, 如果存储的数据类 阅读全文
posted @ 2016-03-03 14:19 dodo-yufan 阅读(2768) 评论(0) 推荐(0) 编辑
摘要: 数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑 关机的情况下,这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在 存储设备中的数据是处于持久状态的,持久化技术则是提供了一种机制可以让数据在瞬时状 态和持久状态之间进行转换。 持久化技术被广泛应用于各种程序 阅读全文
posted @ 2016-03-03 14:13 dodo-yufan 阅读(641) 评论(0) 推荐(0) 编辑