我选择了这个:
final Cursor cursorConversations = getContentResolver().query(
Uri.parse("content://gmail-ls/conversations/" + Uri.encode(mailAddress)),
null, null, null, BaseColumns._ID + " DESC");
ContentQueryMap mQueryMap
= new ContentQueryMap(cursorConversations, BaseColumns._ID, true, null);
使用ContentQueyMap,我可以缓存Cursor数据并在Cursor关闭的情况下迭代它(我需要它来提高性能)。
现在,我想要选择Corsor只检索前五十行。在mQueryMap.getRows().entrySet()
中循环50次的解决方案是不对的:我不希望mQueryMap获取Cursor的所有行,但只需要前50行。
有什么想法吗?是否存在一个只能获得前n行的where子句?
答案 0 :(得分:14)
你可以做到
final Cursor cursorConversations = getContentResolver().query(
Uri.parse("content://gmail-ls/conversations/" + Uri.encode(mailAddress)),
null, null, null, BaseColumns._ID + " DESC " + " LIMIT 5");
在您的SORT之后“LIMIT x”。
干杯
答案 1 :(得分:0)
SELECT * FROM Table_Name LIMIT 5;
这对sqlite有效。尝试添加" LIMIT 5"到你的where子句。 (我还没试过)