У меня есть три информационных экрана, таких как блоги Facebook в моем приложении. Приложения работают онлайн и офлайн. Пользователь может видеть данные offline. Данные кэшируются в базе данных.Каков наилучший способ синхронизации данных приложений Android с сервера?
Когда данные добавляются/обновляются/удаляются на сервер от активных пользователей.
Проблема заключается в том, я хочу, чтобы обновить все другие активные пользователи приложения с новыми данными, не затрагивая их работы и в короткие сроки. Короче говоря, хочу обновить его в фоновом режиме. Как я могу это достичь?
Я попытался ниже решений, но были некоторые проблемы:
1. После регистрации загрузки всех данных с сервера и хранить в базе данных для автономного использования.
Проблема с этим решением: Всегда показывать индикатор выполнения для кеширования данных, влияющих на плохой пользовательский интерфейс. пользователь будет раздражен.
2. Реализован фоновая обработка GCM Push уведомление (средства без отображения толчок уведомления пользовательского процесса его в фоновом режиме)
Проблему с этим решением:. Если уведомления пользовательских блоков, то приложение никогда не синхронизируется с новыми данными. добавлено/обновлено/удалено на сервере.
Лучший способ - использовать SyncAdapter (хотя и предостережения о шаблоне шаблона лота). SyncAdapter работает с ОС Android, чтобы оптимизировать синхронизацию и может синхронизировать обе данные с базовым компонентом и с базовым компонентом, поэтому вы можете кэшировать последнее состояние, когда SyncAdapter запускается для обновления. Вы также можете использовать SyncAdapter для запуска синхронизации «now», а также (предположим), что пользователь нуждается в обновлении. –
@ Лукас Кроуфорд впервые услышал о SycAdapter.I также проверить сайт разработчика Android, но я не могу понять эту концепцию.Итак, есть ли какие-либо объяснения/примеры, которые вы знаете. –
В случае с FCM, почему ваши пользователи отключили уведомления, если они хотят, чтобы ваше приложение синхронизировалось? –