что такое синхронизация приложения

Что такое синхронизация в телефоне Андроид и зачем она нужна

Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Что означает синхронизация в телефоне Андроид и зачем она нужна

Благодаря этой функции файлы, находящиеся на устройстве, перемещаются в сетевые хранилища. Это происходит автоматически. Информация постоянно обновляется. На сервер переносятся файлы, появившиеся в памяти устройства. Механизм также действует в обратном порядке. Таким образом, данные хранилища взаимодействуют с устройством.

Синхронизация позволяет получить доступ к важным файлам в удаленном режиме. Это удобно при потере либо краже телефона или приобретении нового устройства. Перенос информации со смартфона на другой гаджет или сервис займет 2-3 секунды. Достаточно лишь войти в сетевое хранилище, а затем скопировать нужную информацию.

Сервером можно пользоваться одному или вместе с друзьями. Это удобно при командной работе или одновременном функционировании 2-3 устройств.

Не нужно беспокоиться о конфиденциальности, а также сохранности данных. Облако защищает их специальным типом шифрования, посторонние личности не смогут получить к ним доступ.

Какие данные сохраняются при включении синхронизации

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

Файлы сохраняются в сетевых хранилищах Google. Если на устройстве установлены приложения и программы, не связанные с этой системой, значит, информация находится на их серверах. т. е. при использовании на смартфоне WhatsApp человек, введя личные данные через другой гаджет, вновь получит доступ к перепискам, синхронизацию контактов.

Типы синхронизации данных

Информация может быть перенесена в сетевое облако ручным и автоматическим способом. Синхронизация подразделяется на два вида.

Односторонний запуск

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

Двусторонний обмен

Здесь пользователь самостоятельно устанавливает степень главенства сервера и устройства. Существует возможность изменить ее по желанию пользователя.

Настройка синхронизации на Андроиде

Разобравшись с основными принципами синхронизации, следует выяснить, как она функционирует. Порядок действий такой:

Для включения обмена файлами понадобится выполнить ряд действий:

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

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

Распространенными проблемами являются:

Синхронизация — очень удобная функция. Она позволяет пользователям не беспокоиться за сохранность своих данных, а при необходимости легко переносить их на новые устройства без ущерба целостности. Для хранения можно использовать серверы интернета. Процесс не представляет сложностей и доступен для людей, плохо разбирающихся в тонкостях работы мобильных устройств.

Источник

Синхронизация в Android приложениях. Часть первая

что такое синхронизация приложения. image loader. что такое синхронизация приложения фото. что такое синхронизация приложения-image loader. картинка что такое синхронизация приложения. картинка image loader. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.
На дворе 2014 год, доля Android JellyBean перевалила за 60%, появились новые тренды в дизайне. В общем, случилось много всего интересного. Но синхронизация данных с сервером осталось неотъемлемой частью большинства приложений. Существует много способов реализации ее в приложении. Android предоставляет нам SyncAdapter Framework, который позволяет автоматизировать и координировать этот процесс и предоставляет множество плюшек в довесок.

Account

Для начала нам потребуется собственный аккаунт на устройстве. Сначала, я думаю, стоит ответить на вопрос, зачем? Действительно, зачем?

AccountManager — управляет аккаунтами устройства. Приложения запрашивают авторизационные токены именно у него.

AbstractAccountAuthenticator — компонент для работы с определенным типом аккаунта. Вся механика по работе с аккаунтом (авторизация, разграничение прав) осуществляется здесь. Может быть общим для различных приложений. AccountManager работает именно с ним.

AccountAuthenticatorActivity — базовый класс активити для авторизации/создания аккаунта. Вызывается AccountManager’ом в случае необходимости идентифицировать аккаунт (токен отсутствует или протух).

Как это все работает, можно посмотреть на диаграмме из документации
что такое синхронизация приложения. image loader. что такое синхронизация приложения фото. что такое синхронизация приложения-image loader. картинка что такое синхронизация приложения. картинка image loader. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Когда нам понадобился токен, мы работаем с методом AccountManager’а — getAuthToken. Стоит заметить, что это асинхронный метод и его можно безопасно вызывать из UI потока. Существует также синхронная версия этого метода — blockingGetAuthToken. К диаграмме еще вернемся.

Создание Authenticator’а

Для создания собственного Authenticator’а, нам необходимо расширить AbstractAccountAuthenticator и реализовать несколько его методов (7 если быть точным). Но для нас, на данный момент, представляют интерес всего два.

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

Что же происходит в момент вызова этого метода: пытаемся получить текущий токен методом peekAuthToken, если токен существует, можем добавить проверку на валидность (напомню, что это асинхронный метод, так что можем ломиться на сервер) и возвращем результат. Если токена нет и/или сервер нам не отдал его, мы возвращаем тот же интент что и в методе addAccount. В этом случае пользователя выбьет на экран авторизации.

Создание Activity авторизации

Наше активити должно наследоваться от AccountAuthenticatorActivity (строго говоря, не должно а может: в AccountAuthenticatorActivity 20 строчек вспомогательного кода, который можно написать руками в любом другом активити). У нас будет самое простое активити с полями логин/пароль и кнопкой войти. В целом, в AccountManager’е можно сохранять произвольную информацию о профиле пользователя. Отвечать за получение токена будет AuthTokenLoader, но можно использовать любой понравившийся механизм. Задача-то простая — получить от сервера токен.

Данный метод вызывается, когда токен от сервера получен (а это говорит о валидности аккаунта) и, соответственно, можно добавить аккаунт на устройство. setAccountAuthenticatorResult — метод для передачи результата обратно в AccountManager.

Сервис для интергации в систему

Все, что он делает, это возвращает IBinder нашего Authenticator’a. Причем метод getIBinder уже реализован в AbstractAccountAuthenticator. Осталось только прописать наш сервис в манифесте приложения.

Осталась совсем маленькая деталь: вы могли заметить такую строчку

Это метафайл, который описывает наш Authenticator. Его необходимо создать в папке res/xml. В нем мы указываем иконку нашего аккаунта, его название и тип. В самом простом случае, он выглядит так:

Вот, в целом, все. После этих хитрых манипуляций мы получили возможность создавать свой аккаунт на устройстве. При всей кажущейся сложности, этот процесс на самом деле сводится к реализации 2-х методов, создания xml метафайла и описания сервиса в манифесте. Остальные методы Authenticator’а необходимы для шаринга нашего аккаунта во внешний мир с разделением привилегий, о чем мы поговорим в следующих статьях.

Источник

Синхронизация в телефоне на Андроид: зачем нужна, как подключить и настроить

что такое синхронизация приложения. placetransparent. что такое синхронизация приложения фото. что такое синхронизация приложения-placetransparent. картинка что такое синхронизация приложения. картинка placetransparent. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

А если вы еще не успели определиться с новым смартфоном, помочь с выбором может наш магазин — на нашем сайте вы всегда найдете самые актуальные модели по низким ценам.

Что такое синхронизация в телефоне

Синхронизация — механизм, который позволяет сохранить в целостности данные, файлы, когда они используются несколькими аппаратами в разное время. Не имеет значения, происходят корректировки или нет — для всех устройств файл остается единым.

Второй вариант определения синхронизации — использование одинаковой информации на разных гаджетах, между которыми есть связь.

Третий вариант определения — это обмен данными без потерь между аппаратом и учетной записью.

Зачем нужна синхронизация в телефоне

Резервное копирование. Копии в облаке создаются за счет синхронизации устройства с сервером в интернете. Благодаря резервным копиям человек сможет быстро восстановить нужную информацию;

Доступ к материалам из интернета. Например, вы синхронизировали список контактов из телефона и теперь можете посмотреть его в Google Contacts;

Работа через несколько устройств. Удобно тем, кто пользуется несколькими аппаратами. Достаточно их синхронизировать, и вся информация будет доступна на каждом устройстве.

Как работает синхронизация

Синхронизация происходит так:

Создается и настраивается аккаунт, где он будет хранить данные. Для андроид-смартфонов это обычно Google-аккаунт. С ним не нужно использовать сторонние приложения;

Запускается синхронизация. Выбранные пользователем данные сохраняются на сервисе и хранятся там под защитой;

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

Выгруженные данные появляются на подключенном к аккаунту аппарате.

Какие данные можно синхронизировать

Синхронизации подлежит разная пользовательская информация:

заметки и напоминания;

настройки ОС и приложений;

фотографии и аудиофайлы;

данные с веб-страниц — закладки, логины и пароли;

Типы синхронизации

Синхронизацию можно поделить на два типа: односторонний запуск и двусторонний обмен.

При одностороннем запуске всегда есть ведущий и ведомый аппарат, и их роли нельзя будет изменить. Например, смартфон и сервисы Google. Все изменения происходят в сервисах, а на смартфоне только копируются материалы. Смартфон подчинен серверу. При двустороннем обмене пользователь сам выбирает, какое устройство ведущее, а какое — ведомой, и роли аппаратов могут меняться.

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

Как включить и настроить синхронизацию на телефоне

Нужно проделать ряд действий:

Открыть настройки смартфона и перейти в меню “Аккаунт”;

Выбрать сервер для работы. В андроидах это по умолчанию Google-аккаунт;

что такое синхронизация приложения. ad8e65931c5d61bfcc7b1f13999943b8. что такое синхронизация приложения фото. что такое синхронизация приложения-ad8e65931c5d61bfcc7b1f13999943b8. картинка что такое синхронизация приложения. картинка ad8e65931c5d61bfcc7b1f13999943b8. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Отметьте в настройках пункты, которые нужно синхронизировать в дальнейшем;

что такое синхронизация приложения. a52aea5a847764755b13fd1e29400b65. что такое синхронизация приложения фото. что такое синхронизация приложения-a52aea5a847764755b13fd1e29400b65. картинка что такое синхронизация приложения. картинка a52aea5a847764755b13fd1e29400b65. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Дождитесь окончания копирования;

Синхронизация завершена, вы можете восстанавливать данные на других аппаратах.

Можно настроить автоматическое сохранение. Тогда не придется каждый раз делать копирование вручную.

Нужно помнить, что для синхронизации нужен интернет, без него копирование не произойдет. Неважно, какая будет связь — Wi-Fi или мобильная сеть.

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

Источник

Синхронизация в телефоне на Андроид: зачем нужна, как подключить и настроить

что такое синхронизация приложения. placetransparent. что такое синхронизация приложения фото. что такое синхронизация приложения-placetransparent. картинка что такое синхронизация приложения. картинка placetransparent. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

А если вы еще не успели определиться с новым смартфоном, помочь с выбором может наш магазин — на нашем сайте вы всегда найдете самые актуальные модели по низким ценам.

Что такое синхронизация в телефоне

Синхронизация — механизм, который позволяет сохранить в целостности данные, файлы, когда они используются несколькими аппаратами в разное время. Не имеет значения, происходят корректировки или нет — для всех устройств файл остается единым.

Второй вариант определения синхронизации — использование одинаковой информации на разных гаджетах, между которыми есть связь.

Третий вариант определения — это обмен данными без потерь между аппаратом и учетной записью.

Зачем нужна синхронизация в телефоне

Резервное копирование. Копии в облаке создаются за счет синхронизации устройства с сервером в интернете. Благодаря резервным копиям человек сможет быстро восстановить нужную информацию;

Доступ к материалам из интернета. Например, вы синхронизировали список контактов из телефона и теперь можете посмотреть его в Google Contacts;

Работа через несколько устройств. Удобно тем, кто пользуется несколькими аппаратами. Достаточно их синхронизировать, и вся информация будет доступна на каждом устройстве.

Как работает синхронизация

Синхронизация происходит так:

Создается и настраивается аккаунт, где он будет хранить данные. Для андроид-смартфонов это обычно Google-аккаунт. С ним не нужно использовать сторонние приложения;

Запускается синхронизация. Выбранные пользователем данные сохраняются на сервисе и хранятся там под защитой;

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

Выгруженные данные появляются на подключенном к аккаунту аппарате.

Какие данные можно синхронизировать

Синхронизации подлежит разная пользовательская информация:

заметки и напоминания;

настройки ОС и приложений;

фотографии и аудиофайлы;

данные с веб-страниц — закладки, логины и пароли;

Типы синхронизации

Синхронизацию можно поделить на два типа: односторонний запуск и двусторонний обмен.

При одностороннем запуске всегда есть ведущий и ведомый аппарат, и их роли нельзя будет изменить. Например, смартфон и сервисы Google. Все изменения происходят в сервисах, а на смартфоне только копируются материалы. Смартфон подчинен серверу. При двустороннем обмене пользователь сам выбирает, какое устройство ведущее, а какое — ведомой, и роли аппаратов могут меняться.

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

Как включить и настроить синхронизацию на телефоне

Нужно проделать ряд действий:

Открыть настройки смартфона и перейти в меню “Аккаунт”;

Выбрать сервер для работы. В андроидах это по умолчанию Google-аккаунт;

что такое синхронизация приложения. ad8e65931c5d61bfcc7b1f13999943b8. что такое синхронизация приложения фото. что такое синхронизация приложения-ad8e65931c5d61bfcc7b1f13999943b8. картинка что такое синхронизация приложения. картинка ad8e65931c5d61bfcc7b1f13999943b8. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Отметьте в настройках пункты, которые нужно синхронизировать в дальнейшем;

что такое синхронизация приложения. a52aea5a847764755b13fd1e29400b65. что такое синхронизация приложения фото. что такое синхронизация приложения-a52aea5a847764755b13fd1e29400b65. картинка что такое синхронизация приложения. картинка a52aea5a847764755b13fd1e29400b65. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

Дождитесь окончания копирования;

Синхронизация завершена, вы можете восстанавливать данные на других аппаратах.

Можно настроить автоматическое сохранение. Тогда не придется каждый раз делать копирование вручную.

Нужно помнить, что для синхронизации нужен интернет, без него копирование не произойдет. Неважно, какая будет связь — Wi-Fi или мобильная сеть.

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

Источник

Особенности синхронизации в Android-приложении

что такое синхронизация приложения. image loader. что такое синхронизация приложения фото. что такое синхронизация приложения-image loader. картинка что такое синхронизация приложения. картинка image loader. Изучая меню настроек мобильного устройства или открыв окно уведомлений, пользователи могут увидеть надпись «Синхронизация». Многие владельцы смартфонов не понимают, что это за функция. Естественно, им захочется разобраться, что такое синхронизация в телефоне Андроид простыми словами и для каких целей ее используют.

При разработке многих Android-приложений требуется организовать процесс синхронизации данных с данными на сервере. Есть два основных способа как данную синхронизацию можно реализовать.
Первый способ — классический (наиболее популярный и наиболее простой) — с помощью AlarmManager и Service. Например, как описано в этой статье.
Второй способ — «правильный» (но пока что, видимо, редко кем используемый) — с помощью SyncAdapter.

Разрабатывая своё приложение, изначально я попытался реализовать «правильный» (т.е. второй способ).

О том, как его реализовать — чуть ниже. Расскажу сначала о том, с какими сложностями и особенностями я столкнулся при его реализации.

Особенности реализации синхронизации с помощью SyncAdapter

Прежде всего — данный метод достаточно плохо описан в документации. Хотя на сайте разработчиков Android и есть пример реализации, более хорошим примером (с пояснениями) будет статья по этой ссылке.

Для работы данного способа синхронизации необходимо создание отдельного типа эккаунта специально для Вашего предложения (если существующие эккаунты, например, эккаунты Google не подходят), а это — тема для отдельной статьи (пример можно посмотреть, например, тут).
Данный эккаунт будет доступен в разделе Settings / Accounts & Sync. Создание (и удаление) эккаунта будет возможным не только из Вашего приложения, но и из этого раздела. В нем можно создать несколько эккаунтов для Вашего приложения (нужно ли это Вашему приложению?). Для каждого эккаунта нужно имя (для OAuth-эккаунтов приходится использовать выдуманные имена).
При этом неправильно написанный код эккаунта перезагружает как устройство, так и эмулятор — тестировать сложно. При этом, если Вы создали лишь код, отвечающий за эккаунт, и хотите его протестировать, то не выйдет — без полностью написанного кода SyncAdapter‘a устройство будет перезагружаться при входе в Accounts & Sync.
Как быть если Вашему процессу синхронизации не нужен эккаунт? Придется создавать dummy-эккаунт.

Если Ваше приложение будет синхронизировать данные с существующими базами — контактами телефона, событиями календаря или, например, фотографиями, то тут все проще (и большинство примеров в сети именно про такой тип синхронизации). Если же синхронизация будет производиться со своими данными, то необходимо, чтоб был создан свой ContentProvider.
Как быть, если Ваше приложение не хочет делиться своей базой с другими приложениями? Придется создавать dummy-ContentProvider, например, такой.

Если все сделано, и даже свой SyncAdapter написан (см. ниже как), то теперь синхронизация будет автоматически запускаться когда изменились данные в локальной базе.

Если синхронизацию нужно запустить вручную, то для этого есть функция requestSync(), ниже будет написано об ограничениях функции. Если нужно запускать синхронизацию автоматически, то для этого есть другая функция — addPeriodicSync(). Хотя работает она лишь на Android 2.2 или выше. Но работает данная функция отлично — например, если в момент синхронизации нет интернет-соединения, то синхронизация произойдет автоматически в тот момент, когда оно появится.

Как реализовать синхронизацию с помощью SyncAdapter‘а

Что же требуется сделать для реализации синхронизации с помощью SyncAdapter? (перевод ответа c StackOverflow)

1. Уведомить Android, что приложение поддерживает синхронизацию

Для этого в AndroidManifest.xml необходимо указать сервис синхронизации:

где name — имя, соответствующее имени класса для синхронизации (об этом — чуть ниже); exported — делает сервис доступным другим компонентам (в т.ч. и ContentResolver, который используется для взаимодействия с сервисом синхронизации); intent-filter позволяет перехватывать событие, требующее синхронизацию (возникает, например, когда синхронизация запрошена функцией RequestSync() Вашего ContentResolver‘a).

2. Создать сервис (службу) для нахождения SyncAdapter‘a

Ваш класс должен расширять Service, в нем должна быть переменная экземпляра AbstractThreadedSyncAdapter. Он должен реализовывать public IBinder onBind(Intent) и должен возвращать SyncAdapterBinder.
Достаточно многое должно быть реализовано в этом классе, т.к. данный сервис предоставляет стандартный интерфейс для SyncAdapter Android’a.

3. Создать класс SyncAdapter для непосредственного осуществления синхронизации

mySyncAdapter — место, где содержится сама логика синхронизации. Когда приходит время синхронизации, вызывается onPerformSync().

4. Осуществить связывание (binding) между типом эккаунта и Content Authority

В пункте 1, в файле AndroidManifest.xml, в поле name мы указали значение, которую и образует связь между ContentAuthority и эккаунтом. AndroidManifest.xml ссылается на другой xml-файл. В нашем примере это sync_myapp.xml:

Данный файл сообщает Android’у, что созданный нами SyncAdapter будет синхронизировать контакты.

Все значения строк в contentAuthority должны совпадать со значениями того, с чем будет происходить синхронизация. Если синхронизация будет происходить с Вашей собственной базой, то с Вашим значением. Если с какими-либо существующими базами (например, с контактами или событиями календаря), то со стандартными значениями. Например, указанное выше значение «com.android.contacts» идентифицирует стандартные контакты.

Значение accountType также должно совпадать либо с Вашим значением, либо со стандартным значением. Если Вы создаете свой собственный тип эккаунта, то Вам потребуется создать и подкласс AccountAuthenticator, чтобы осуществлять авторизацию на Вашем сервере (см. уже указанную выше статью). Указанное в нашем примере значение «com.google» идентифицирует, что мы используем Google-эккаунт.

5. Включение синхронизации для созданной пары AccountContentAuthority

Наконец, можно включить процесс синхронизации. Это можно сделать либо в разделе Settings / Accounts & Sync, либо программно в Вашем приложении:

Для осуществления синхронизации она должна быть разрешена не только для Вашего приложения — необходимо глобальное разрешение на синхронизацию (в разделе Settings / Accounts & Sync должна быть проставлена соответствующая галка).
Если одно из этих условий не выполнено, то вызов RequestSync() ни к чему немедленно не приведет, запрошенная синхронизация однако будет выполнена позднее — как только синхронизация будет включена. Хотя, существует способ это обойти.

Дополнительно, можно включить периодические автоматические синхронизации.

Выводы

И так, чем же хороша (+) и плоха (-) синхронизация с помощью SyncAdapter по сравнению с ASyncTask?

(+) следование стандартам (Ваше приложение в списке всех синхронизирующихся приложений)
(+) поддержка нескольких эккаунтов
(+) простота реализации автоматических синхронизаций (когда остальное все уже написано)
(+) автоматическая синхронизация при появлении интернет-соединения
(+) удобство в синхронизации со стандартными базами (контакты, календарь и т.п.)
(-) необходимость создания эккаунта
(-) отсутствие полноценной документации
(-) сложность реализации и тестирования
(-) необходимость в Android 2.2 и выше для автоматических периодических синхронизаций
(-) необходимость создания своего ContentProvider’a

Итого, я выбрал ASyncTask для синхронизации в своем приложении (хотя код для SyncAdapter был уже почти полностью написан) — прежде всего, не хотелось ограничиваться версией 2.2 Android.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *