Android中的Cursor如何工作?

时间:2018-05-27 05:38:01

标签: android mysql database cursor android-cursor

我一直在阅读Android中的Cursor API以及其他人的评论。但有一些我无法理解的东西。

进行查询时,Cursor是否包含所有查询的行或仅第一行查询?

如果它返回所有行,那么为什么人们会说Cursor 指向查询的单行?因为需要调用moveToFirst()Cursor移动到下一行。

如果它返回所有行,那么使用getCount()方法知道查询中的行数是怎么回事?

我试图通过将其与Cursor进行比较来了解ArrayList。 在ArrayList中,我们使用列表的索引访问每条记录。 索引实际上是指针,它指向ArrayList的单个记录。

所以,从我看到的情况来看,Cursor只有一行。当我调用moveX()方法时,它会返回下一条数据记录。但那么它如何知道查询中的结果数量?

2 个答案:

答案 0 :(得分:0)

Cursor是指向逐行索引的单个对象。在查询的主要情况下,Cursor指向null的结果集行。然后你应该将它移动到你想要的第一行或每一行。

答案 1 :(得分:0)

从查询返回Cursor对象,它将返回查询返回的所有行。

它包含所有行,但只指向1行,这意味着您需要检索一行,您需要先将光标指向它