Как использовать Android MediaBrowserService для обслуживания песен MediaStore?

В методе onLoadChildren службы MediaBrowserService мы должны вернуть список элементов MediaItem, чтобы клиент мог соответствующим образом построить свой пользовательский интерфейс. Как мне это сделать, если в моей службе есть курсор, который я только что извлек из MediaStore, или экземпляр LiveData, который я только что получил, скажем, из БД комнаты?

Я не могу понять, как преобразовать мой курсор/живые данные в список элементов мультимедиа (конечно, без итерации всех данных курсора/LiveData), или как клиент узнает, когда ему нужно получить дополнительные данные из службы?

Спасибо


person TheCodeFather    schedule 05.06.2018    source источник


Ответы (1)


Итак, я наконец нашел решение своей проблемы. Я использовал новую библиотеку подкачки для Android, чтобы запрашивать страницы MediaItems из мой сервис. Таким образом, я не перебираю все записи моего курсора, а просто извлекаю элементы MediaItem, которые пользователь хочет видеть.

Я написал об этом сообщение в блоге, в котором подробно изложил и предоставьте образцы кода, демонстрирующие решение.

person TheCodeFather    schedule 24.06.2018