Что такое ContiguousPagedList?
Я смотрел в Android Paging
и, кажется, есть конкретное внедрение PagedList
как ContiguousPagedList
, Какая польза от этого класса? Посмотрел, чтобы найти его использование / причину существования, но не нашел. Может кто-нибудь объяснить, почему это ContiguousPagedList
существует?
1 ответ
ContiguousDataSource используется, когда последовательность данных должна быть загружена одна за другой. Большинство наших вариантов использования будут охвачены в этой категории.
Как вы упомянули, PageKeyedDataSource и ItemKeyedDataSource являются реализациями ContiguousDataSource.
ItemKeyedDataSource: инкрементальный загрузчик данных для содержимого с подкачкой, где загруженный контент использует ранее загруженные элементы в качестве входных данных для будущих загрузок.
PageKeyedDataSource: Инкрементальный загрузчик данных для содержимого с ключами страницы, где запросы будут возвращать ключи для следующих / предыдущих страниц.
В обоих случаях вам нужно использовать данные со страницы N - 1 для загрузки страницы N.
Non-ContiguousDataSource: пропустите непосредственно к определенной части в наборе данных и загрузите материал вокруг этого. Например: приложение "Контакты", в котором вы переходите от "A" к "H".
Android Paging также поддерживает эту функцию с реализацией DataSource для PositionalDataSource. Это помогает загружать исчисляемые данные фиксированного размера, поддерживая загрузки фиксированного размера в произвольных положениях страницы.