Potrzebuję wiedzieć, jak pobrać dane z kursora. Potrzebuję tego, ponieważ program odtwarzający zwraca wszystkie pliki audio w postaci obiektu kursora, muszę wiedzieć, jak pobrać wartości.Jak pobierać dane z klasy kursorów
Anbudan.
Potrzebuję wiedzieć, jak pobrać dane z kursora. Potrzebuję tego, ponieważ program odtwarzający zwraca wszystkie pliki audio w postaci obiektu kursora, muszę wiedzieć, jak pobrać wartości.Jak pobierać dane z klasy kursorów
Anbudan.
Gdy masz obiekt Cursor, można zrobić coś takiego:
if (cursor.moveToFirst()){
do{
String data = cursor.getString(cursor.getColumnIndex("data"));
// do what ever you want here
}while(cursor.moveToNext());
}
cursor.close();
Brak jest ")": String data = cursor.getString (kursor. getColumnIndex ("data")); . Nie poważne, tylko po to, by ukończyć twoją odpowiedź. – JJ86
Mam rację w tym sensie, że nawet jeśli oczekujesz tylko jednego wiersza, musisz wywołać cursor.moveToFirst(), ponieważ inaczej tablica zawierająca dane będzie zawsze pusta ??? – AntonSack
I thing "! Cursor.isAfterLast()" powinien pozostać w pętli while, jak "Some Noob Student", w przeciwnym razie spowoduje nieskończoną pętlę reklamy. – Redauser
odpowiedź Salvador będzie nadal pobierać dane z rzędu po ostatnim rzędzie ponieważ moveToNext()
tylko return false gdy kursor wskazuje w rzędzie po ostatnim rzędzie. Będzie kontynuował iterację, nawet jeśli kursor wskazuje ostatni wiersz.
Poprawny szablon powinien być:
if (cursor.moveToFirst()){
while(!cursor.isAfterLast()){
String data = cursor.getString(cursor.getColumnIndex("data"));
// do what ever you want here
cursor.moveToNext();
}
}
cursor.close();
To wygląda nieco lepiej:
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
...
}
Wystarczy zapoznać się z dokumentacją w API: http://developer.android.com/reference/android /database/Cursor.html Albo jest ładny tutorial: http://developer.android.com/guide/tutorials/notepad/index.html Również to pytanie może ci pomóc: http://stackoverflow.com/questions/ 903343/cursor-get-the-field-value-android – RoflcoptrException