首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带分页的MediaBrowser(Compat)订阅/查询项目

带分页的MediaBrowser(Compat)订阅/查询项目
EN

Stack Overflow用户
提问于 2016-05-04 00:38:09
回答 2查看 605关注 0票数 0

在我的服务端,它有巨大的数据,我想提供分页的方式项目。有没有推荐的在MediaBrowser/MediaBrowserService(Compat)之间使用分页遍历的流?

我希望在Result<List<MediaItem>>中提供部分数据,而不是所有数据(例如,所有YouTube歌曲),而浏览器端使用分页来一次提取部分数据。

EN

回答 2

Stack Overflow用户

发布于 2017-04-14 16:34:51

在您的

代码语言:javascript
复制
MediaService extends MediaBrowserServiceCompat

  @Override
    public void onLoadChildren(@NonNull final String parentMediaId, @NonNull final Result<List<MediaItem>> result) {
       result.detach();
       for (int page = 0; i<pages.size(); i++){
            result.sendResult(getList(page));
         }
    }
public List<MediaItem> getList(int page){
  //here create List for page-number == page
}

或者,您可以在页面的片段或活动中发出请求

代码语言:javascript
复制
MediaBrowserCompat mediaBrowser = ...;
mediaBrowser.subscribe("1"/*it's page*/, mSubscriptionCallback);

然后在您的服务中创建以下内容:

代码语言:javascript
复制
 @Override
        public void onLoadChildren(@NonNull final String page, @NonNull final Result<List<MediaItem>> result) {
           result.detach();
           result.sendResult(getList(page));

        }
票数 2
EN

Stack Overflow用户

发布于 2018-06-25 03:17:49

我想在我的应用程序中做类似的事情--我想以分页的方式返回设备上现有的歌曲。正如您所说,onLoadChildren()方法中的部分结果。我最终使用了安卓的新Paging library来做到这一点。使用该库,我可以使客户端/UI端只向服务请求用户感兴趣的页面,然后只为onLoadChildren()方法中的页面提供服务,调用客户端的subscribe()方法来检索页面。我在post I wrote中详细介绍了它,在其中我还提供了代码示例以更好地演示这个概念。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37009675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档