2010-05-11 14 views
32

Ho bisogno di sapere come recuperare i dati dal cursore. Ho bisogno di questo perché ringtonemanager restituisce tutti i file audio sotto forma di oggetto cursore, ho bisogno di sapere come recuperare i valori.Come recuperare i dati dalla classe del cursore

Anbudan.

+0

Basta leggere la documentazione nelle API: http://developer.android.com/reference/android /database/Cursor.html Oppure c'è un bel tutorial: http://developer.android.com/guide/tutorials/notepad/index.html Anche questa domanda potrebbe aiutarti: http://stackoverflow.com/questions/ 903343/cursor-get-the-field-value-android – RoflcoptrException

risposta

108

Una volta ottenuto l'oggetto cursore, si può fare qualcosa di simile:

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

C'è un ")" mancante qui: String data = cursor.getString (cursore. getColumnIndex ("Dati")); . Non serio, solo per completare la risposta. – JJ86

+0

Ho ragione nel senso che anche se ti aspetti solo una riga, devi chiamare cursor.moveToFirst() altrimenti la matrice contenente i dati sarà sempre vuota ??? – AntonSack

+1

I thing "! Cursor.isAfterLast()" dovrebbe rimanere nel tuo ciclo while, come "Some Noob Student", altrimenti causerà loop infinito dell'annuncio. – Redauser

14

risposta di Salvador continuerà a recuperare i dati della riga dopo l'ultima riga perché moveToNext() sarà solo return false quando il cursore è rivolta alla riga dopo l'ultima riga. Continuerà a scorrere anche se il cursore punta verso l'ultima riga.

il modello corretto dovrebbe essere:

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

Questo sembra un po 'meglio:

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