Я использую: Retrofit 2
, Active Android(ORM)
и SQLite
.
Сервер написан на Java + Spring
Приложение должно работать так:
1. При доступном интернете - спарсить JSON и положить их в SQLite (в память телефона) и вывести их в RecyclerView
2. При доступном интернете - если произойдут какие-то изменения на сервере, например добавятся товары или категории, то приложение должно скачать измененные/добавленные товары или категории.
3. Если интернета нет - все данные из SQLite (в памяти телефона) должны вывестись в RecyclerView
У меня возникла проблема с двумя последними пунктами: в интернете не нашел нормальной документации где объясняется как заставить active android работать в оффлайн режиме, что для этого нужно делать, а также как сверять есть ли изменения на сервере.
Подскажите пожалуйста где можно почитать на счет этой синхронизации с сервером и оффлайн режимом телефона, может быть есть какой-то пример кода. Может быть есть какая-то документация для новичков?
То, что вы описывает это Offline-first
. Т.е. вся инфа по умолчанию доступна без интернета, отображается из локального хранилища а при соединении с сервером полученная от него инфа лишь обновляет оную в локальном хранилище.
Как вы будете хранить инфу локально и как обновлять её с сервера - отдельный вопрос. Локально можно в БД хранить (SQL или NoSQL), а обновлять либо переодически делая запрос на сервер или с сервера рассылая пуши на девайсы с самой инфой или с целью побудить девайс эту инфу от сервера самостоятельно получить.
Лично я у себя использую Realm
- NoSQL
БД с уведомлениями в рантайме об изменениях выборки. Изначально всё из неё отображаю, а когда что-то на сервере поменялось, то оно пишется в БД и БД автоматом вызывает метод перерисовки RecyclerView
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Возникла необходимость написать свой краулер on PythonНа данном этапе мне необходимо распарсить весь текст из html и удалить лишнее
При нажатии на кнопку «Добавить статью», появляется форма с двумя полями: Заголовок статьи и Описание статьи и кнопкой закрытьПосле нажатия...
Задание лабораторной работы - оформить сайт-визитку (одна или несколько страниц)Страница должна быть реализована с использованием CSS и JS