Служба Android, которая синхронизирует данные между устройством Android и сервером

A SyncAdapter - это Android Service, который синхронизирует данные между устройством Android и внутренним сервером. SyncAdapter могут быть частью программы Android или автономной сущностью. SyncAdapter связаны с Account, который определяет набор данных, принадлежащих конкретному приложению.

Цель SyncAdapter - обеспечить согласованность данных на устройстве Android и на сервере. Когда данные изменяются на сервере, SyncAdapter должен идентифицировать, что было внесено изменение, и обновить данные на устройстве Android, чтобы отразить это изменение.

Наиболее распространенный тип данных, которые синхронизируются с помощью SyncAdapter, - это ваш список контактов. Каждый раз, когда вы добавляете контакт на свой телефон, этот контакт также отправляется на сервер Google и сохраняется в нем. Точно так же, если вы добавите контакт из другого сервиса Google, такого как GMail, SyncAdapter определит, что контакт был добавлен, и скопирует данные на ваше устройство Android.

Любой тип данных может быть синхронизирован с внутренним сервером, он зависит только от типа данных, с которыми имеет дело ваше приложение. Другими распространенными типами данных, которые нужно синхронизировать таким образом, являются списки календарей и дел / задач.

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

SyncAdapter обычно отправляют на сервер сообщение «проверка», например, каждые 30 минут, чтобы спросить, были ли внесены какие-либо изменения за это время. Это только небольшой обмен данными, и он не потребляет много сетевых данных. Дальнейшие шаги «синхронизации» выполняются только в том случае, если данные изменились и требуют соответствующего обновления на устройстве Android.

Справочник по классам SyncAdapter