Я столкнулся с этой проблемой за последние 2 дня, и я не могу определить, что я здесь делаю не так.

Ситуация такова: я передаю два параметра своему API с помощью Retrofit (вызов метода POST): первый - Token, а второй - CompanyId. Я получаю около 700+ данных в виде списка (ответ JSON). Поэтому я попытался реализовать библиотеку подкачки Android-архитектуры, чтобы получить 20 элементов из этого списка.

Затем, когда загружено 20 элементов, затем еще 20 элементов, чтобы я получил свои ответы быстрее, чем обычно.

Мое предположение: я думаю, что страница моего сервера API не разбита на страницы.

Мой вопрос: Можно ли получить 20 элементов из списка, включающего более 700 элементов, без разбивки на страницы API.

Каждый раз, когда я вызываю API, загрузка 700+ элементов занимает слишком много времени.

Как мне использовать библиотеку подкачки в таких ситуациях?

Если вам нужны какие-то фрагменты моего кода, вы можете запросить их в комментариях ниже.

Любая помощь будет оценена, спасибо.

1
user10254319 16 Сен 2018 в 15:56

2 ответа

Лучший ответ

Возможно ли получить 20 элементов из списка более 700 элементов без разбивки на страницы.

Нет. Если API выдает столько данных и не позволяет запрашивать меньше, то у вас нет возможности повлиять на это поведение.

Как мне использовать библиотеку подкачки в таких ситуациях?

Вы извлекаете эти 700+ записей и храните локально на устройстве в БД, структура в памяти не имеет значения. Затем все отображение должно выполняться на основе этих кэшированных данных без вызовов API. Это прекрасный сценарий, поскольку библиотека подкачки абстрагирует источник данных.

См. https://developer.android.com/topic/libraries/architecture/paging/

2
Marcin Orlowski 16 Сен 2018 в 13:58

Используйте ItemKeyedDataSource, если вам нужно использовать данные из элемента N для получения элемента N + 1. Например, если вы выбираете цепочки комментариев для приложения для обсуждения, вам может потребоваться передать идентификатор последнего комментария, чтобы получить содержимое следующего комментария. https://developer.android.com/topic/libraries/architecture/paging/ данные

0
Seviana Pungky B 16 Дек 2019 в 09:53