Недавно я увидел, что в Google есть отличная библиотека для разбивки данных на страницы.
В этом Google IO:
Android Jetpack: управление бесконечными списками с помощью RecyclerView и Paging (Google I /O '18)
Они объяснили, как сделать Data + Network DataSource
и получить данные из базы данных как Single Source of Truth
, а когда база данных отсутствует, она запрашивает дополнительные данные из сети с BoundaryCallback
.
Итак, предположим, что у меня есть список фильмов на сервере.И клиент (пользователь Android) может сортировать их по популярности, названию, дате_релизу и ...
Так что в первый раз, если пользователь сортирует фильмы по заголовкам, все будет работать отлично, потому что в базе данных и данных нет данныхс сервера будет запрошено отсортировать их по названию и отправить обратно.Но что, если после этого пользователь попытается отсортировать их по популярности, например?Из-за наличия фрагмента фильмов в базе данных (например, 50 фильмов) он сортирует это небольшое количество фильмов по популярности, а затем пытается получить данные с сервера, и это не очень хороший опыт.
Iне могу сделать таблицу для каждого типа сортировки, потому что это не очень хорошая практика.Так как я могу преодолеть эту проблему?
Большое спасибо