2010-11-21 4 views
49

Est-ce que quelqu'un pourrait savoir comment je peux voir ce qu'un curseur contient pendant le débogage pour que je puisse déterminer la fonctionnalité de mon assistant de base de données?Affichage d'un curseur de base de données Android

Il garde d'agir comme ses données retour, mais lorsque je tente d'utiliser la méthode cursor.isNull(0), je continue à avoir NullPointerException jeté et ne pas être en mesure de voir ce que le curseur a en elle tout en renforçant à travers l'exécution est vraiment me frustrant.

Toute aide serait grandement appréciée.

Merci.

Répondre

-6

Si c'est une exception de pointeur nul, il semble que votre curseur est vraiment nul.

Je voudrais utiliser Log.d() pour aider à déboguer mes curseurs, vous pouvez simplement créer une méthode d'assistance pour vider la ligne entière de votre curseur à LogCat.

+0

et ainsi de suite ... – xandy

+0

Ok ... alors quand j'essaye de faire ça; Log.d ("ActivityCursor", "col 0:" + cursor.getLong (0)); Il se bloque. Quand j'essaye ceci; Log.d ("ActivityCursor", "col 0:" + cursor.getCount()); Il dit col 0: 1 Comment peut-il être nul? – Skittles

+30

Je pense avoir trouvé la réponse dont j'avais besoin. Il y a apparemment cette classe vraiment géniale qui me permet de voir le contenu exact du curseur sous la forme d'une hashtable. DatabaseUtils.dumpCursor (curseur); Merci pour l'aide de toute façon, xandy. :) – Skittles

269

Android a fourni une classe spécifique uniquement pour le débogage des curseurs. Il est appelé DatabaseUtils.

Appelez la méthode DatabaseUtils.dumpCursorToString(cursor) pour afficher le contenu de votre curseur.

Cette aide boucle et imprime le contenu du curseur pour vous, et ramène le curseur à sa position d'origine afin qu'il ne gâche pas votre logique d'itération. Log.d ("col 0" + mCursor.getLong (0) + ", col1" + mCursor.getLong (1))

+46

pourquoi n'est-ce pas la réponse acceptée? – Mirko

+5

C'est certainement la bonne réponse. – suomi35

+3

C'est parce que c'était la seule réponse et @Skittles lui-même trouvé sur DatabaseUtils 2 ans avant que cette réponse a été postée. –