Rakesh
Rakesh

Reputation: 15057

How to retrieve data from cursor class

I need to know how to retrieve data from cursor. I need this because the ringtonemanager returns all the audio files in form of cursor object, I need to know how to retrieve the values.

Anbudan.

Upvotes: 45

Views: 87959

Answers (3)

Salvador
Salvador

Reputation: 1558

Once you have the Cursor object, you can do something like this:

if (cursor.moveToFirst()){
   do{
      String data = cursor.getString(cursor.getColumnIndex("data"));
      // do what ever you want here
   }while(cursor.moveToNext());
}
cursor.close();

Upvotes: 138

tcb
tcb

Reputation: 2814

This looks a bit better:

for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
    ...
}

Upvotes: 22

Some Noob Student
Some Noob Student

Reputation: 14574

Salvador's answer will continue to fetch data from the row after the last row because moveToNext() will only return false when the cursor is pointing at the row after the last row. It will continue to iterate even if the cursor is pointing at the last row.

The correct template should be:

if (cursor.moveToFirst()){
   while(!cursor.isAfterLast()){
      String data = cursor.getString(cursor.getColumnIndex("data"));
      // do what ever you want here
      cursor.moveToNext();
   }
}
cursor.close();

Upvotes: 17

Related Questions