从上一篇可知,通过Sqlite数据库对象进行查询返回的都是Cursor对象,那么现在就详细分析一下Cursor类的相关内容。
Cursor简介
Cursor翻译过来是游标或指针,那么可以理解,通过SQLiteDatabase对象返回的Cursor是一个指向返回结果的指针或者游标,通过这个游标提供的方法可以找到对应的数据集并进行操作。事实证明这样理解是可以的,因为Cursor是一个接口,这个接口包含很多可以对结果集进行操作的方法,如果熟悉JDBC的ResultSet,Cursor就相当于ResultSet,并且比ResultSet的操作方式更加丰富。官方文档的简介是:Cursor接口提供了一种对数据库返回结果集进行随机读写的途径, Cursor的实现类不要求是同步的,所以在多线程中使用Cursor应该只进行其各自的同步。
Cursor操作结果集的常用操作方法
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void | close() 关闭游标,释放资源,将游标完全标识为不可用 | ||||||||||
abstract void | copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) 将列对应的值转换为一个缓冲字符串数组对象 | ||||||||||
abstract byte[] | getBlob(int columnIndex) 将指定列的值一字节数组的方式返回 | ||||||||||
abstract int | getColumnCount() 返回总列数 | ||||||||||
abstract int | getColumnIndex( String columnName) 返回列名对应的下标 | ||||||||||
abstract String | getColumnName(int columnIndex) 返回下标对应的列名,从0开始 | ||||||||||
abstract String[] | getColumnNames() 将游标持有的列名以字符串数组的形式返回 | ||||||||||
abstract int | getCount() 返回游标持有的数据行数 | ||||||||||
abstract double |