在 SMS Content Provider 中限制和抵消查询结果
Limiting and offsetting query result in SMS Content Provider
我正在开发一个消息传递应用程序,我想限制来自 SMS 内容提供商的结果数量,以便我可以实现无限滚动(在滚动时加载更多数据而不是一次加载整个对话)。
有什么方法可以 select 来自 SMS 内容提供商的前 50 个对话,然后从给定点 select 50 个对话?
Cursor cur;
ContentResolver contentResolver = getContentResolver();
final String[] projection = new String[]{"*"};
Uri uriSMSURI = Uri.parse("content://mms-sms/conversations/");
cur = contentResolver.query(uriSMSURI, projection,
null, null, " date DESC");
在最后一个参数中指定 limit 50
cur = contentResolver.query(uriSMSURI, projection, null, null, " date DESC limit 50");
如果你想获得第 i
个 "page",意思是偏移 i
次 50 :
...," date DESC limit 50 offset "+i);
(我假设 i
是您保存要加载的块的索引的变量)
我正在开发一个消息传递应用程序,我想限制来自 SMS 内容提供商的结果数量,以便我可以实现无限滚动(在滚动时加载更多数据而不是一次加载整个对话)。
有什么方法可以 select 来自 SMS 内容提供商的前 50 个对话,然后从给定点 select 50 个对话?
Cursor cur;
ContentResolver contentResolver = getContentResolver();
final String[] projection = new String[]{"*"};
Uri uriSMSURI = Uri.parse("content://mms-sms/conversations/");
cur = contentResolver.query(uriSMSURI, projection,
null, null, " date DESC");
在最后一个参数中指定 limit 50
cur = contentResolver.query(uriSMSURI, projection, null, null, " date DESC limit 50");
如果你想获得第 i
个 "page",意思是偏移 i
次 50 :
...," date DESC limit 50 offset "+i);
(我假设 i
是您保存要加载的块的索引的变量)