Reputation: 15057
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
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
Reputation: 2814
This looks a bit better:
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
...
}
Upvotes: 22
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