Описание тега android-paging

Компонент архитектуры подкачки упрощает для вашего приложения постепенную загрузку информации по мере необходимости из источника данных без перегрузки устройства или слишком длительного ожидания большого запроса к базе данных.

Обзор:-

Многие приложения работают с большими наборами данных, но им необходимо загружать и отображать только небольшую часть этих данных в любое время. Приложение может иметь тысячи элементов, которые оно потенциально может отображать, но ему может потребоваться доступ только к нескольким десяткам из них одновременно. Если данные хранятся или синхронизируются с удаленной базой данных, это также может замедлить работу приложения и тратить впустую план данных пользователя.

Хотя существующие API-интерфейсы Android позволяли разбивать контент на страницы, они имели значительные ограничения и недостатки:

  • CursorAdapter упрощает сопоставление результатов запроса базы данных с элементами ListView.
  • AsyncListUtil позволяет выполнять разбиение на страницы данных на основе позиции в RecyclerView, но не допускает непозиционное разбиение по страницам и заставляет использовать значения NULL как заполнители в счетном наборе данных.

Классы:-

Библиотека подкачки предоставляет следующие классы, а также дополнительные вспомогательные классы:

  • DataSource: используйте этот класс, чтобы определить источник данных, из которого необходимо извлечь выгружаемые данные.
  • PagedList: этот класс загружает данные из DataSource. Вы можете настроить, сколько данных загружается за раз и сколько данных должно быть предварительно загружено, минимизируя количество времени, которое ваши пользователи должны ждать загрузки данных.
  • PagedListAdapter: этот класс является реализацией RecyclerView.Adapter, который представляет данные из PagedList.
  • LivePagedListProvider: этот класс генерирует LiveData из предоставленного вами источника данных.