游标接口提供对数据库查询返回的结果集的随机读写访问。游标实现不需要同步,因此使用来自多个线程的游标的代码应该在使用游标时执行自己的同步。
游标:在 Android 中从 SQLite 数据库中检索数据是使用游标完成的。Android SQLite 查询方法返回一个包含查询结果的 Cursor 对象。Cursors 将查询结果记录存储在行中,并授予许多方法来访问和遍历记录。要使用 Cursors,必须导入 android.database.Cursor。
http://developer.android.com/reference/android/database/Cursor.html
在这里检查源
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/database/Cursor.java/
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/database/AbstractCursor.java/
查看链接中的第 248 行
248 public final boolean moveToPrevious() {
249 return moveToPosition(mPos - 1);
// mPos looks like is the index here which is an int
250 }
移动到位置
195 public final boolean moveToPosition(int position) {
196 // Make sure position is not past the end of the cursor
197 final int count = getCount();
198 if (position >= count) {
199 mPos = count;
200 return false;
201 }
202
203 // Make sure position isn't before the beginning of the cursor
204 if (position < 0) {
205 mPos = -1;
206 return false;
207 }
208
209 // Check for no-op moves, and skip the rest of the work for them
210 if (position == mPos) {
211 return true;
212 }
getCount()
返回游标在行集中的当前位置。该值从零开始。当第一次返回行集时,光标将位于位置 -1,即第一行之前。返回最后一行后,再次调用 next() 将使光标离开最后一个条目,位于 count() 的位置。
返回: 当前光标位置。