2010-11-21 14 views
49

Czy ktoś wie, w jaki sposób mogę wyświetlić zawartość kursora podczas debugowania, aby można było określić funkcjonalność pomocnika bazy danych?Wyświetlanie kursora bazy danych systemu Android

Zachowuje się tak, jakby zwracał dane, ale kiedy próbuję użyć metody cursor.isNull(0), otrzymuję komunikat NullPointerException i nie mogę zobaczyć, co ma w nim kursor, podczas gdy przechodzenie przez wykonanie naprawdę mnie frustruje.

Każda pomoc będzie bardzo doceniana.

Dzięki.

Odpowiedz

-6

Jeśli jest to wyjątek wskaźnika pustego, wygląda na to, że kursor ma wartość zerową.

Chciałbym użyć Log.d(), aby pomóc w debugowaniu moich kursorów, można po prostu stworzyć metodę pomocnika, aby zrzucić cały wiersz kursora do LogCat.

+0

Log.d ("col 0" + mCursor.getLong (0) + ", col1" + mCursor.getLong (1)); i tak dalej ... – xandy

+0

Okej ... więc, kiedy próbuję to zrobić; Log.d ("Activity.cursor", "col 0:" + cursor.getLong (0)); To zawiesza się. Kiedy próbuję tego; Log.d ("Activity.cursor", "col 0:" + cursor.getCount()); Mówi kol. 0: 1 Jak może być pusty? – Skittles

+30

Myślę, że znalazłem odpowiedź, której potrzebowałem. Widocznie jest to naprawdę świetna klasa, która pozwala mi zobaczyć dokładną zawartość kursora w postaci tablicy hashtable. DatabaseUtils.dumpCursor (kursor); Dzięki za pomoc w każdym razie, Xandy. :) – Skittles

269

Android podał konkretną klasę tylko do debugowania kursorów. Nazywa się DatabaseUtils.

Zadzwoń do metody DatabaseUtils.dumpCursorToString(cursor), aby wyświetlić zawartość kursora.

Ten pomocnik zapętla i wydrukuje zawartość Kursora dla ciebie i przywraca kursor do pierwotnej pozycji, aby nie naruszył Twojej logiki iteracyjnej.

+46

dlaczego nie jest to zaakceptowana odpowiedź? – Mirko

+5

To zdecydowanie jest poprawna odpowiedź. – suomi35

+3

To dlatego, że była to jedyna odpowiedź i @ Skittles się znaleźć na temat DatabaseUtils 2 lata przed opublikowaniem tej odpowiedzi. –

Powiązane problemy