Как получить данные из класса курсора - PullRequest
37 голосов
/ 11 мая 2010

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

Anbudan.

Ответы [ 3 ]

125 голосов
/ 11 мая 2010

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

if (cursor.moveToFirst()){
   do{
      String data = cursor.getString(cursor.getColumnIndex("data"));
      // do what ever you want here
   }while(cursor.moveToNext());
}
cursor.close();
22 голосов
/ 25 ноября 2013

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

for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
    ...
}
17 голосов
/ 28 октября 2012

Ответ Сальвадора будет продолжать извлекать данные из строки после последней строки, потому что 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...