【发布时间】:2018-11-06 00:59:51
【问题描述】:
我一直在阅读 Android 中的 Cursor API 以及其他人的 cmets。但是有些东西我一直无法理解。
进行查询时,Cursor 是包含 ALL 查询的行还是仅第一行 查询?
如果它返回所有行,那么为什么人们说Cursor 指向查询的单行?因为有这个需要调用moveToFirst()把Cursor移到下一行。
如果它返回所有行,那么它如何知道使用 getCount() 方法的查询中的行数?
例如,我试图通过将 Cursor 与 ArrayList 进行比较来理解它。
在ArrayList 中,我们使用列表的index 访问每条记录。
这个index实际上是指向ArrayList的单个记录的指针。
所以,据我所知,Cursor 中似乎只有 一行。当我调用moveX() 方法时,它将返回下一条数据记录。但是它怎么知道查询中的结果数呢?
【问题讨论】:
-
它包含所有行:您可以使用
moveToPosition(position)直接获取它们,其中position在[0..getCount()-1] 范围内 -
人们说它指向单行怎么样?
-
因为所有
Cursor#get*方法只能访问“当前”行 - 由Cursor#move*方法之一选择的行 -
好的...如果
Cursor包含所有行,那么返回当前行的对象的名称是什么? -
行的对象是什么?
标签: android mysql database cursor android-cursor