Синхронизация службы REST с приложением для Android

Существует служба REST, которую я использую для заполнения информации в моей базе данных, которая позже используется моим приложением. Я прочитал несколько тем по этому вопросу, и теперь мне нужно решить, как я хочу, чтобы синхронизация между службой REST и моей БД работала.

Подумайте о приложении, которое получает информацию от API финансов Google о запасах и хранит его в БД, отображает информацию при запуске приложения и отправляет уведомления, когда определенные события происходят в цене акций.

Я уже реализовал простой вариант AsyncTask, который запускается, когда пользователь вручную запрашивает синхронизацию. Теперь я должен выполнить автоматическую синхронизацию, и это параметры, которые я нашел:

  • Создайте Service которая будет выполнять синхронизацию
  • Использование поставщика адаптера синхронизации / синхронизации

Поэтому я нашел много преимуществ для второго варианта, особенно тех, которые описаны в этом видео, но также и два основных недостатка:

  • Я не мог найти хорошую документацию для синдрома андроида (несколько сторонних статей, таких как эти , но не официальные руководства Google или Android Developers )
  • Согласно этой статье, испорченность в адаптере синхронизации может привести к серьезным проблемам, таким как сбой ОС и перезагрузка.

Большая часть информации, которую я нашел, довольно старая, поэтому, возможно, с тех пор все изменилось, но мое приложение должно работать с уровнем API 8 и выше, поэтому я был бы очень благодарен за любые рекомендации и ссылки на ценную документацию.

Solutions Collecting From Web of "Синхронизация службы REST с приложением для Android"

Определенно пойти с SyncAdapter. Следуйте инструкциям здесь: Почему ContentResolver.requestSync не вызывает синхронизацию? ,

Для выполнения SyncAdapter вам также потребуется создать учетную запись / AccountAuthenticator, чтобы ваш SyncAdapter знал, как войти в вашу службу – если это действительно API-интерфейсы Google Finance, в этом случае все, что вам нужно сделать, это применить Права доступа в манифесте, чтобы он использовал настройки учетной записи, уже имеющиеся на телефоне.

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

Оформить заказ https://github.com/sschendel/SyncManagerAndroid-DemoGoogleTasks .

Демонстрирует настройку синхронизации данных Google Task API с локальным db SQLite.