1 SQLite
SQLite是一种关系型数据库管理系统(RDBMS)。它在以下方面得到公认:
❑ 开源
❑ 标准兼容
❑ 轻量级
❑ 单层
它已经被实现为紧凑的C库,并作为Android软件栈的一部分。通过库来提供功能而不是作为分离的处理,使得每个数据库都能成为应用程序的集成部分。它能降低关联、减少反应时间、并简化加锁和同步的处理。
SQLite拥有值得信赖的名声,因此,在许多消费者电子设备,包括MP3播放器、iPhone和iPod Touch中,都是数据库系统的一种选择。
轻量级、功能强大的SQLite不同于许多传统的数据库引擎,它通过使用松散的列定义输入方式。不是要求列的值都符合某一单一类型,每列中每行的值是独立输入的。因此,当从每列的一行中指定或提取值时,美誉哦严格的类型检查。
想要了解更多关于SQLite,包括它的能力和限制,请登录官方网站:www.sqlite.org/.
2 Cursor和ContentValue
ContentValue对象用于在数据库表(和Content Provider)中插入新的行。每个ContentValue对象代表单一行,包含列名称映射的值。
ContentValue对象和Hashtable比较类似,负责存储一些名值对。名是String,值是基本类型。
在Android中的查询会得到一个Cursor对象。不是提取和返回结果值的一个拷贝,Cursor实际上指向底层数据的子集。Cursor是一种托管的方式控制在数据库查询的结果集中的位置(行)。
Cursor类包含一些用于导航查询结果的函数,包括但不限于以下的:
❑ moveToFirst
移动Cursor到查询结果的第一行。
❑ moveToNext
移动Cursor到下一行。
❑ moveToPrevious
移动Cursor到前一行。
❑ getCount
返回结果集中的行数。
❑ getColumnIndexOrThrow
通过指定的名称来返回列的索引(如果不存在该名称的列的话,会抛出异常)。
❑ getColumnName
返回指定列索引的列名称。
❑ getColumnNames
返回当前Cursor所在的所有列名称的字符串数组。
❑ moveToPosition
移动Cursor到指定的行。
❑ getPosition
返回当前Cursor的位置。
Android提供了一种在你的Activity中管理Cursor资源的机制。startManagingCursor方法将Cursor的生命周期集成到父Activity的生命周期管理中。当你使用Cursor完成工作时,调用stopManagingCursor来结束这一现状。