在Android开发中使用Cursor有什么用?

RMH*_*RMH 71 android cursor

我正在浏览互联网上关于数据库连接,检索的一些代码.我Cursor cur1= moveToFirst()在许多代码中看到,我想知道游标的用途是什么以及为什么我们使用moveToFirst()因为我是android的新手.

Cha*_*har 134

Cursor是表示任何数据库的二维表的接口.当您尝试使用SELECT语句检索某些数据时,数据库将首先创建一个CURSOR对象并将其引用返回给您.

此返回引用的指针指向第0个位置,否则在Cursor的第一个位置之前调用该位置,因此当您想要从光标中检索数据时,您必须先移动到第一个记录,因此我们必须使用moveToFirst

当您在Cursor上调用moveToFirst()方法时,它将光标指针指向第一个位置.现在您可以访问第一条记录中的数据


Lal*_*ani 61

简单来说,Cursor是一个返回查询数据集合的接口.moveToFirst()用于指向要从光标获取数据的位置的光标位置.有一些方法moveToLast(),moveToNext(),moveToPrevious(),moveToPosition(position),通过它可以通过你的光标以希望的方式进行迭代.

例如,您在Cursor中有数据

Lalit
Rithesh
Paresh
Chandra
Run Code Online (Sandbox Code Playgroud)
  • moveToFirst()- 如果你cursor.moveToFirst()在这种情况下使用then它将指向Lalit,因为它是光标中的第一个数据.要从光标获取下一个数据,您可以使用moveToNext().

  • moveToLast() - 这会将Chandra指向光标中的当前数据.要从光标获取以前的数据,您可以使用 moveToPrevious()


Sum*_*rma 27

Cursor表示查询的结果,并且基本上指向查询结果的一行.这样Android可以有效缓冲查询结果; 因为它不必将所有数据加载到内存中.

要获取结果查询的元素数,请使用该getCount()方法.

要在各个数据行之间移动,可以使用moveToFirst()moveToNext()方法.该isAfterLast()方法允许检查是否已到达查询结果的结尾.

Cursor提供类型化的get*()方法,例如getLong(columnIndex),getString(columnIndex)访问结果当前位置的列数据."columnIndex"是您要访问的列的编号.

Cursor还提供了getColumnIndexOrThrow(String)允许获取表的列名的列索引的方法.

需要使用close()方法调用关闭Cursor .查询返回Cursor对象.


jee*_*eet 10

Cursor就像java中的ResultSet一样,它有一些带有指针的查询返回的行.moveToFirst(),moveToNext()并将moveToPosition(position)指针设置为所需的位置.