Каковы наилучшие способы получения данных JSON по требованию?

Я разрабатываю приложение, которое будет показывать некоторые элементыRecyclerView, извлекая JSONs из веб-службы. Если пользователь прокручивает в конце списка, необходимо получить больше данных. Для пользовательского интерфейса я реализовал EndlessScrollListener, но я не уверен, что будет правильным вариантом для извлечения фактического JSON с правильным индексом страницы (например, http://some.service / data&page=1). Для чтения данных из HTTP-ресурса я решил использовать библиотеку Volley. Если я использую Just Volley сам, это будет проблемой для обработки onConfigurationChangedсобытия вручную.

Я знаю, что AsyncTaskLoaderэто может помочь мне решить мою проблему, но похоже, что он был разработан, чтобы периодически получать данные. В моем случае мне нужно загрузить данные по требованию (когда пользователь прокручивает вниз).

Я также думал о реализации адаптера синхронизации для извлечения данных, загрузчика курсоров и контент-провайдера для сохранения/чтения данных в автономном режиме, но это выглядит трудно для меня сейчас, потому что я новичок Android.

Что вы можете предложить?

Больше всего меня интересует архитектурная часть решения.

1 ответ

  1. Десериализация json иногда также трудная задача, поэтому то, что вам нужно сделать, это сделать запрос с volley, то в результате у вас есть строка json, то в асинхронной задаче вы делаете десериализацию в локальный объект, который имеет структуру, вам нужно, и только затем настроить представление и прикрепить окончательные данные к нему. Если вы загружаете список и хотите загрузить его на прокрутку, вот пример