android cursor 分组,Android中的Cursor

Cursor

光标/游标

获取

SQLiteDataBase db;

Curosr cursor = db.query(参数);

Cursor cursor = context.getContentResolver().query(参数);

理解:

Cursor是每行的集合:

每行的集合的意思,是获得的满足条件(就是我们query方法中传入的条件参数)的所有行

如下:SQLite数据库

position | id | name | age | gender

---------|------|------|------| ------|

0 | 1 | 张三 | 20 | 男

1 | 2 | 李四 | 21 | 女

2 | 3 | 王五 | 22 | 男

3 | 4 | 赵六 | 23 | 女

我要在这个表中找gender为男的,那么获得到的cursor就包含了张三行,王五行

方法

close()

关闭游标,释放资源

copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)

在缓冲区中检索请求的列的文本,将将其存储

getColumnCount()

返回所有列的总数

getColumnIndex(String columnName)

返回指定列的名称,如果不存在返回-1

getColumnIndexOrThrow(String columnName)

从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException 异常。

getColumnName(int columnIndex)

从给定的索引返回列名

getColumnNames()

返回一个字符串数组的列名

getCount()

返回Cursor 中的行数

moveToFirst()

移动光标到第一行

moveToLast()

移动光标到最后一行

moveToNext()

移动光标到下一行

moveToPosition(int position)

移动光标到一个绝对的位置

moveToPrevious()

移动光标到上一行

一段代码

if (cur.moveToFirst() == false)

{

//为空的Cursor

return;

}

访问 Cursor 的下标获得其中的数据

int nameColumnIndex = cur.getColumnIndex(People.NAME);

String name = cur.getString(nameColumnIndex);

循环 Cursor 取出需要的数据

while(cur.moveToNext())

{

//光标移动成功

//把数据取出

}

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值