Cursor和ContentValue
ContentValue对象用于在数据库表(和Content Provider)中插入新的行。每个ContentValue对象代表单一行,包含列名称映射的值。
在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来结束这一现状。
在本章的后面,你将学习如何查询一个数据库,并且通过返回的Cursor对象提起特定行/列的值。