我总是看到人们说它cursor is never null所以你不需要检查是否为null,但是还有其他人说光标可以为空,你总是要检查它。
所以查看查询方法here它确实显示返回null,所以我不知道我是否只是缺少一些东西,或者是人们说游标永远不会出错?
在进行查询时,您是否需要检查Cursor
是否为空?
答案 0 :(得分:8)
对于ContentResolver
次查询,是的,返回的Cursor
可以是null
,如您链接的代码所示。
对于SQLiteDatabase
次查询,不,不需要检查null
Cursor
。虽然没有太大的伤害。
答案 1 :(得分:1)
SQliteDatabase.query()返回一个Cursor对象,该对象位于第一个条目之前。游标永远不会为null但它可以为空。
对于ContentResolver queries
,它可以为null。请检查此SO question。
答案 2 :(得分:0)
安全并使代码稳固,检查是否为null。 您可以参考this code from Android。我们可以看到它可以变为空。