Привет всем героям Android там, я столкнулся с этой интересной проблемой, которую я пытаюсь объяснить здесь
У меня есть простое требование показывать большое количество данных в представлении переработчика в виде сеткичего я добиваюсь, используя библиотеку подкачки, предоставляемую Android Jetpack. Я использую шаблон «Единый источник истины», в котором данные, полученные с сервера, сначала сохраняются в БД комнаты, а затем в базе данных наблюдаются любые изменения. Данные, которые я получаю, отсортированы. Он начинается с A, затем B и т. Д., Когда я прокручиваю вниз
Теперь требуется наличие скроллера, кроме представления рециркулятора, которое содержит весь алфавит, перечисленный вниз по вертикали, что дает пользователю возможность переходить к любомуалфавит прямо вместо прокрутки вниз, чтобы добраться до него. Общее количество строк данных от А до Я составляет около 100 000. Теперь предположим, что пользователь выполняет обычную прокрутку и получает данные, начинающиеся с буквы A, внезапно он нажимает на алфавит P из скроллера, затем приложение должно показать данные, начинающиеся с буквы P, а затем должно возобновить поведение прокрутки, т. Е. Еслипользователь прокручивает вверх, затем он должен видеть данные, начинающиеся с O, и если он прокручивает вниз, то он должен начать видеть данные с помощью Q и т. д.
Следующее требование состоит в том, что, поскольку я использую локальную базу данных через Room, я должен обновитьданные только когда они обновляются, сохраняя попадания на сервер. Каким должен быть идеальный способ синхронизации данных с сервером, учитывая тот факт, что на сервер поступает минимум обращений, а у нас нет старых данных в локальной БД. Как оптимизировать вышеуказанные функции