Как правильно обрабатывать JSON-ответ от API ВКонтакте и заполнять RecyclerView?

Привет!

Разбираюсь с разработкой под андроид и решил сделать приложение, которое:
- по API запрашивает данные от ВК о пользователях, чьи id указаны пользователем,
- преобразует полученный JSON-ответ в массив,
- из этого массива создаёт RecyclerView, наполняя его данными (id, имя, фамилия, аватарка).

Что сейчас делает код:
- берёт перечисленные ID пользователей ВК (1,2,3,4,5),
- при нажатии на кнопку формирует URL для запроса к ВК (https://api.vk.com/method/users.get?user_ids=1,2,3...),
- в отдельном потоке запускает обработку этого URL: если данные есть, из них формируется массив,
- когда задача в отдельном потоке выполнится, заполняется RecyclerView.

При первом нажатии кнопки, массив не формируется, несмотря на то, что данные от ВК поступили.
Если нажать на кнопку второй раз, всё работает - формируется список пользователей.

Грешу на то, что у меня нужные куски кода выполняются не в тех местах где должны: в отдельном потоке выполняется не всё или не так, как нужно. Или выполняется то, что выполняться не должно...

Буду благодарен, если подскажете, как можно улучшить код: https://github.com/StepanMe/VKInfo
Какие библиотеки могут упростить жизнь?

Спасибо.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
steff
@steff Автор вопроса
Похоже, разобрался.
Немного переделал код + выяснил, что у меня не работал метод onPostExecute (не был явно переопределён через @Override). Сейчас на выходе я получаю ожидаемый результат - код возвращает нужные мне данные "с первой попытки" и выводит список пользователей в RecyclerView.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы