仅从媒体存储中获取前 100 行图像
有没有办法限制在 Android 上使用 ManagedQuery 函数从媒体存储检索的结果。由于我目前有一个网格显示 SD 卡上找到的所有照片,但获取它的强度太大,因此我决定限制从媒体存储检索的结果,但找不到可以减少结果数据集的限制函数。
请帮忙
Is there a way to limit the result retrieved from mediastore using managedQuery function on Android. Since I currently have a grid that displaying all photos found on the sd card but it is too intensive of fetching it so I decide to limit the result retrieved from the media store but could not find a limit function that can reduce the resulting set of data.
Please help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 contentresolver 的查询方法中使用 order 来实现您的功能,
例如
我的例子中的“columnname asc limit number”:
use order in contentresolver's query method to implement your function,
such as 'columnname asc limit number'
in my case:
您可以使用 查询方法。像这样
这将按 id 对结果集进行排序并限制结果。
You can limit the result using the sortOrder parameter in query method. Something like this
This will order the result set by id and limit the result.
当针对 Android 11 时,建议的答案将导致异常,并显示
java.lang.IllegalArgumentException: Invalid token LIMIT
相反,您应该在 MediaProvider 将读取的 URI 上提供“限制”查询参数。
我还没有找到这方面的文档,但它存在于 来源
When targeting Android 11 the suggested answer will cause an exception, with
java.lang.IllegalArgumentException: Invalid token LIMIT
Instead you should provide a "limit" query parameter on the URI that the MediaProvider will read.
I haven't found documentation for this, but it's present in the sources