Подтвердить что ты не робот

Как получить данные из класса курсора

Мне нужно знать, как извлекать данные из курсора. Мне нужно это, потому что ringtonemanager возвращает все аудиофайлы в виде объекта курсора, мне нужно знать, как получить значения.

Anbudan.

4b9b3361

Ответ 1

Как только у вас есть объект Cursor, вы можете сделать что-то вроде этого:

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

Ответ 2

Это выглядит немного лучше:

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

Ответ 3

Ответ Сальвадора будет продолжать извлекать данные из строки после последней строки, потому что moveToNext() возвращает только false, когда курсор указывает на строку после последней строки. Он будет продолжать итерацию, даже если курсор указывает на последнюю строку.

Правильный шаблон должен быть:

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