查看Android数据库游标

Ski*_*les 59 debugging android cursor

有谁知道如何在调试期间查看游标中的内容,以便我可以确定数据库帮助程序的功能?

它一直表现得像是在返回数据,但是当我尝试使用该cursor.isNull(0)方法时,我不断被NullPointerException抛出而无法看到光标在其中的内容,而单步执行则让我非常沮丧.

任何帮助将非常感激.

谢谢.

Som*_*ent 310

Android提供了一个专门用于调试游标的类.它被称为DatabaseUtils.

调用方法DatabaseUtils.dumpCursorToString(cursor)以查看光标的内容.

这个助手遍历并打印出Cursor的内容,并将光标返回到原始位置,这样就不会弄乱你的迭代逻辑.

  • 这是因为这是唯一的答案,@ Skittles自己在发布此答案前2年发现了DatabaseUtils. (5认同)

xan*_*ndy -9

如果这是空指针异常,那么看来你的光标确实是空的。

我会用它Log.d()来帮助调试我的光标,您可以简单地创建一个辅助方法来将光标的整行转储到 LogCat。

  • 我想我找到了我需要的答案。显然有一个非常棒的类,它可以让我以哈希表的形式查看确切的游标内容。DatabaseUtils.dumpCursor(游标); 不管怎样,谢谢你的帮助,xandy。:) (35认同)
  • 吃喝玩乐!您使用 DatabaseUtils.dumpCursor(cursor) 方法(或 Log.d("TAG", DatabaseUtils.dumpCursorToString(cursor))) 的建议真的很棒,我想说一个比当前接受的答案更好的答案!我认为你应该自己回答这个问题,并选择它作为公认的答案。我会投票赞成!:) (4认同)