Android: локальное кеширование данных с REST сервиса. Как реализовать?

В учебных целях пишу простенький мессенджер для андроида.
Такие данные как список чатов, список контактов, история чата и информация о юзере приложение получает с сервера через REST.

Исследовав вопрос REST библиотек для андроида выбрал Retrofit как самую удобную и адекватную по быстродействию.
Но на данном этапе потребовалось еще и кешировать все это дело, то есть сохранять полученные данные в локальной базе, так чтобы если пользователь запустит приложение без доступа к сети у него отображались данные, которые были получены в прошлый раз.

Например что имеем сейчас:
Пользователь заходит в приложение будучи подключенным к интернету, приложение выгружает с сервера список чатов и кидает их на активити.
Если закрыть приложение и зайти в него уже БЕЗ соединения - на экране данные будут отсутствовать, пока не появится возможность выгрузить их из сети.

Как хотелось бы:
Если интернет есть приложение выгружает данные и кидает их на вьюху, но помимо прочего записывает в базу. При обновлении данных база также обновляется.
Если интернета нет - подгружаются данные из базы.

Интересует что использовать для реализации и как вообще организовать работу всего этого.

Смотрел в сторону RoboSpice, но там вроде немного не то что нужно.

Подскажите, а? А то запутался с этим всем.
  • Вопрос задан
  • 4961 просмотр
Решения вопроса 1
anyd3v
@anyd3v
сначала в гугл по следующим словам с приставкой android: Sqlite, Cursor, CursorAdapter, ContentResolver
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы