我想在SQLiteStatement
中使用ContentProvider
而不是rawQuery
或其他一种标准方法。我认为使用SQLiteStatement
可以提供更自然,原生,高效且不易出错的方法来进行查询。
问题是我没有看到生成和返回Cursor
的方法。我意识到我可以使用“call”并返回Bundle
,但这种方法要求我同时缓存并返回所有选定的行 - 这可能是巨大的。
我将开始查看Android源代码 - 我认为“查询”最终使用SQLiteStatement
并以某种方式生成Cursor
。但是,如果有人对此有任何指示或了解,我将非常感谢您的分享。
答案 0 :(得分:2)
我想在ContentProvider中使用SQLiteStatement而不是rawQuery或其他标准方法之一。我认为使用SQLiteStatement可以提供更自然,原生,高效且不易出错的方法来进行查询。
引用SQLiteStatement
的文档:
该语句不能返回多个行或列,但支持单值(1 x 1)结果集。
我不明白为什么你会为单行,单列结果而烦恼ContentProvider
,但是,嘿,这是你的应用......
问题是我没有看到生成和返回Cursor的方法
创建MatrixCursor
并填写单个结果。