Перенос данных с Андроида на Андроид: ТОП-7 простых способов перенести ваши сведения и файлы
Перенос данных с Андроида на Андроид: ТОП-7 простых способов перенести ваши сведения и файлы
Телефоны давно не просто средство для разговоров. Мы храним на смартфонах контакты и адреса, фотографируем, делаем заметки и пишем статьи, контролируем вес и выбираем меню. Неудивительно, что с покупкой нового телефона возникает вопрос синхронизации данных. Перенос информации между Apple не сложен, ведь компания с самого начала выстраивала систему с единым центром. А вот Android напоминает мозаику из разных приложений. Поэтому у многих возникают сложности с переносом данных между андроидами.
Синхронизация через Гугл
Этот вариант переноса данных потребует минимальных усилий от пользователя:
- Войдите в раздел «Настройки»-«Аккаунты» на старом телефоне.
- Выберите гугловский профиль (будет указан e-mail в Google), затем «Синхронизация». Проверьте, чтобы напротив нужных Вам данных стояли галочки. Иначе информация не перенесется.
- Если стоит отметка, что копирование включено для всех элементов, просто добавьте профиль Google на новом смартфоне.
- Нажмите «еще», затем «синхронизировать». Данные со старого смартфона за перенесены на новый девайс.
Время копирования зависит от объема данных, но обычно занимает 5-10 минут. Однако, если версии андроида на телефонах отличается – возможно «переедут» не все. Проблемы возникают с очень старыми или наоборот, недавно вышедшими операционками. Например, сейчас еще не все приложения адаптированы под 10 версию.
Кроме того, учитывайте, что на смартфоне должно быть достаточно места, чтобы туда влезли все приложения и программы, которые вы переносите.
Как быть, если нет аккаунта гугл? Его можно быстро создать через сервисы Google или Play Market, который по умолчанию есть на каждом смартфоне с Android. Когда Вы впервые входите в магазин, вам предложат зарегистрироваться в гугле. Для этого:
- Указываете свое имя и фамилию.
- Придумываете название почтового ящика и пароль.
- Регистрация пройдена.
Что можно перенести через сервисы Гугл?
- Список контактов. Они будут автоматически храниться на сервере. Список можно просмотреть на любом устройстве, в том числе ПК. С компьютера можно добавить новые номера или отредактировать старые.
- Фото и видео. Они хранятся на Google фото.
- Сообщения. Однако, Google будет их хранить, только если вы дали свое согласие и используете их фирменное приложение и дали на это согласие. Причем речь идет только об СМС. Сохранность переписки в WhatsApp, телеграмм, и т.д. зависит от возможностей этих мессенджеров. Например, секретные часты Telegram не переносятся на другие устройства.
- Приложения. При первой настройке телефона вам предложат установить программы, которые вы использовали ранее. Так с android на android можно перенести календарь.
- Любые файлы в памяти телефона. Бывает, там хранятся пароли или другая важная информация. Достаточно скопировать ее на гугл диск, где каждому клиенту бесплатно предоставляется 15 Гб пространства. Потом просто загрузите данные на новый смартфон или просматривайте через сервисы Google.
- История поиска. Если вы пользуетесь мобильной версией браузера Хром – вся информация автоматически сохраняется в облаке, в вашей учетной записи.
Как перебросить данные через сторонние приложения?
Если по какой-то причине Вы не хотите пользоваться сервисами Гугл – установите другие программы. Они не менее эффективно перенесут данные с андроида на андроид. Есть десятки приложений. Но чаще всего используют три:
Перенос через CLONEit достаточно прост
- Скачиваете утилиту через Play Market.
- Устанавливаете на обоих устройствах.
- Запускаете программу на старом телефоне и нажимаете «отправить». С этого устройства создается беспроводная точка доступа.
- Включаем программу на новом смартфоне. Выбираете, что он будет получателем.
- Дожидаетесь, пока телефоны обнаружат друг друга, отдаем команду «Подключиться».
- Выбираем, что нужно перенести
- Жмем «Пуск». Синхронизация началась, данные передаются.
X-Transfer второе приложение с аналогичным функционалом от немецких разработчиков
Работает на прямую с устройствами. При этом есть возможность копирования на ПК. Для копирования данных:
- Загружаете программу через Play Market. Не скачивайте эти приложения с других неофициальных сайтов, иначе рискуете установить какой-нибудь вирус.
- Программа должна быть установленная на обоих устройствах.
- Принимаете пользовательское соглашение, и даете доступ к данным (иначе программа не сможет их скопировать)
- Затем надо подключить телефоны между собой. Для этого используется QR- коды. Сканируете и получаете подтверждение что связь установлена.
- Затем система начнет сканирование аппарата и покажет все имеющиеся данные.
- На старом гаджете выбираете информацию, которую нужно скопировать;
- Запускаете процесс переноса. Спустя 5-10 минут данные появятся на новом устройстве.
Mi Cloud пойдет для владельцев смартфонов от Xiaomi
Как и в случае с сервисами гугл синхронизация происходит через аккаунт в Mi Cloud. Если у вас нет аккаунта в приложении, нужно его создать. Для этого:
- Загружаете программу через Play Market. Не скачивайте эти приложения с других неофициальных сайтов, иначе рискуете установить какой-нибудь вирус.
- Указываете свои данные
- Принимаете пользовательское соглашение
- Придумываете пароль.
- Устанавливаете Mi Cloud на второй телефон.
Затем начинайте переносить данные:
- Входите в свой Mi аккаунт с обоих смартфонов;
- На старом гаджете выбираете информацию, которую нужно скопировать;
- Запускаете процесс переноса. Спустя 5-10 минут данные появятся на новом устройстве.
Фактически процедура аналогична синхронизации через Google. Однако Mi Cloud предлагает лишь 5 Гб облачного хранилища.
Как синхронизировать данные с андроида на андроид вручную
Если нужно перенести данные со старых моделей телефонов, то Google и другие облачные приложения могут не подойти. Ваш телефон будет попросту неспособен их установить. Поэтому придется перекидывать информацию по старинке.
Через MicroSD
- Открываете на смартфоне Проводник;
- Выбираете нужные файлы
- Нажимаете «копирование на кару памяти»
- Извлекаете MicroSD и вставляете в новый телефон.
Через NFC/Bluetooth
- На обоих гаджетах включаете NFC или Bluetooth в разделе «Беспроводные сети».
- Активируете Android Beam.
- Подносите устройства друг к другу.
- На старом телефоне выбираете файлы, которые требуется перенести.
- Нажимаете «Передать».
Через USB-кабель
Этот вариант для тех, кто опасается, что его данные утекут в сеть.
- Подключаете старый телефон к компьютеру.
- Выбираете «Передача файлов». Теперь у вас не смартфон, а большая флешка, подключенная к ПК
- Копируете нужную информацию
- Отсоединяете телефон
- Подключаете новый
- Переносите на него скопированные сведения.
Так можно создать полный клон смартфона, даже скопировать операционную систему.
Развитие технологий движется в сторону облачных решений. Почти вся информация формируется или дублируется на серверах компаний. Времена, когда из-за потери телефона вы могли потерять многодневный труд, коллекцию фото или песен – ушли навсегда. Достаточно подключить резервное копирование и перенос данных будет осуществляться автоматически.
Видео как перенести данные смотрите тут:
Как перенести данные с Android на Android: 7 способов для разных устройств
Перенести данные со старого Android-смартфона намного легче, чем многие думают. Разбираемся в том, как это сделать.
После покупки Android-смартфона перед нами во весь рост встает проблема по переносу данных со старого смартфона на новый. К счастью, она волнует не только простых пользователей, но и производителей, прямо заинтересованных в том, чтобы такой переход оказался максимально безболезненным.
В сегодняшней статье мы разберем несколько простых и быстрых способов переноса данных с андроида на андроид, некоторые из которых предусмотрены производителем вашего новенького гаджета, другие — самой Google, а третьи зависят только от вас.
Аккаунт Google
Это самый простой способ переноса данных с любого Android-смартфона на Android-смартфон без необходимости установки каких-то дополнительных программ. Конечно, при условии, что ваш гаджет поддерживает сервисы Google. Поэтому владельцы относительно свежих устройств Huawei сразу могут пропустить этот пункт и перейти к следующему.
Откройте меню настройки старого смартфона и найдите там опцию авторезервирования данных. В разных смартфонах она может находиться в разных местах, поэтому проще всего ввести это название в окне поиска. Включите эту опцию. Вся хранящаяся в смартфоне информация будет скопирована в облако. После этого войдите в свой аккаунт Google на новом смартфоне и включите синхронизацию данных.
При этом стоит понимать, что на новый смартфон могут быть перенесены десятки гигабайт информации, поэтому синхронизацию стоит выполнять только в домашней Wi-Fi сети, а сама синхронизация может занять достаточно продолжительное время.
Если у вас Huawei
Если ваш старый или новый смартфон выпустила китайская Huawei, то вы не сможете воспользоваться переносом данных через аккаунт Google. Но не сказать, что от этого процесс переноса сильно усложнится.
Вам нужно скачать и установить на оба смартфона приложение Phone Clone. Сначала запустите приложение на старом устройстве и дайте ему все необходимые разрешения. После этого вам предложат отсканировать QR-код на новом смартфоне. Запустите программу на новом гаджете, получите соответствующий QR-код и синхронизируйте смартфоны между собой.
После этого выберите те данные, которые вы хотите скопировать на новый смартфон и запустите процесс переноса.
Как вы видите, ничего сложного в работе с Phone Clone нет, правда сам способ подходит только для переноса данных на смартфон Huawei.
Если у вас Xiaomi
Этот способ синхронизации во многом напоминает работу через аккаунт Google, только вместо последнего используется облако Mi Cloud. Для работы с ним войдите в свой аккаунт Mi с обоих смартфонов, выберите данные, которые вы хотите скопировать, на старом устройстве и запустите процесс синхронизации.
Главный недостаток Mi Cloud по сравнению с Google в том, что вам дается только 5 Гбайт облачной памяти на бэкапы и восстановление данных. А, учитывая то, что смартфоны Xiaomi поддерживают и синхронизацию через учетку Google, особого смысла использовать облачный сервис Xiaomi просто нет.
Если у вас Samsung
Есть свое фирменное приложение по переносу данных и у корейской Samsung. Оно называется Smart Switch и уже предустановленно на все современные смартфоны компании, ну а скачать программу, если один из ваших телефонов выпустили не корейцы можно из магазина Google Play Store.
Интерфейс программы также не вызывает никаких вопросов даже у новичка. С самого начала вы попадаете на экран выбора направления переноса, после чего вам предлагается указать тип старого устройства (Galaxy или Android, iPhone/iPad или, чем черт не шутит, Windows Phone).
После этого укажите тип соединения (кабель или беспроводная связь), выберите необходимые данные для переноса и начните процедуру. Причем самое удобное в этом способе — возможность передачи данных по кабелю, что заметно ускоряет процесс переноса.
Сторонние приложения
Помимо предусмотренных производителями и Google способов миграции с одного Android-смартфона на другой в магазине Play Store есть множество приложений, способных облегчить этот переход. Правда, пользоваться ими стоит с осторожностью — вы должны быть полностью уверены в надежности программы, ведь вы доверите ей всю информацию, хранящуюся на вашем смартфоне, и ее утечка в сторонние руки может оказаться очень чувствительной.
Распознать «хорошие» программы достаточно легко. Просто посмотрите количество их скачиваний, итоговую оценку и отзывы пользователей в Play Store. Скачивать такие программы из сторонних источников точно не стоит.
Если у вас паранойя, это еще не значит, что за вами не следят
Если вы не доверяете никому и ничему или просто не хотите использовать никакие приложения для переноса данных с андроида, то вы можете все сделать вручную. Конечно, это займет немало времени и не позволит перенести всю без исключения информацию, но иногда этого и не нужно.
Как перенести данные с андроида на андроид, минуя все фирменные и сторонние программы? Просто подключите ваш смартфон к компьютеру через USB-кабель и выберите способ соединения «Передача данных». Теперь ваш смартфон превратился в одну большую флешку, и вы можете скачать с него всю нужную информацию.
После этого отключите его от ПК и подключите к нему новый телефон. Повторите процедуру в обратном порядке.
Правда, тут стоит понимать, что в этом режиме со смартфона не стоит бездумно копировать всю имеющуюся информацию. Не слушайте тех, кто говорит, что таким образом вы сможете клонировать смартфон, к примеру, превратив Samsung в Xiaomi с фирменной оболочкой MIUI. А ведь в сети встречаются и куда более бредовые советы, которые на практике помогут лишь «убить» ваш новый смартфон.
К примеру, таким способом вы гарантированно сможете перенести на новый смартфон фотографии, музыку, видео и другой контент. О переносе программ, контактов и какой-то системной информации стоит забыть.
При копировании данных подобным способом можно обойтись и без компьютера. Вставьте в ваш смартфон карту памяти microSD и перенесите на нее все нужные данные с помощью любого файлового менеджера. После этого достаньте карту памяти, установите ее в новый смартфон и скопируйте в его память хранящуюся на ней информацию.
Итоги
И так, если вы купили новый смартфон, первое, что вам нужно сделать — это разобраться в том, как перекинуть с андроида на андроид нужную вам информацию. Вы можете пойти по универсальному для любого Android-смартфона с сервисами Google пути и воспользоваться синхронизацией своего аккаунта Google.
Если один из смартфонов, выпущен под брендом Huawei или Samsung, вы можете воспользоваться фирменными приложениями этих производителей. Каждое из них имеет чрезвычайно простой и наглядный интерфейс, позволяя переносить весь массив чувствительных данных.
Кроме того, вы можете скачать из Google Play Store одно из многочисленных приложений по переносу данных, но перед этим убедитесь, что такому приложению стоит доверять. Если же вы не доверяете никому, то можете перенести весь контент со старого смартфона на новый с помощью USB-кабеля или карты microSD. В этом случае все придется делать руками, но и вы не будете зависеть ни от чего и ни от кого.
Как перенести приложения с телефона на телефон Android
Для пользователей операционной системы Android перенос приложений с данными не является проблемой – эта ОС в современном ее виде предоставляет сразу несколько инструментов для решения задачи. В этой статье мы подробно рассмотрим:
В первую очередь ознакомимся с официальным руководством от компании Google, так как это наиболее безопасный и стабильный способ «трансплантации» данных.
Как включить сервис резервного копирования, чтобы перенести приложения с телефона на телефон
Резервное копирование данных – функция, позволяющая создать запасную копию всех файлов, настроек, приложений и данных аккаунтов, которые хранятся на вашем телефоне. Эта функция позволяет в любой момент восстановить эти данные на другом смартфоне. Активировать ее легко:
- зайдите в настройки;
- перейдите в меню «Аккаунты и синхронизация»;
- активируйте соответствующий ползунок – здесь же вы можете синхронизировать отдельные важные приложения или отказаться от синхронизации, если те или иные приложения не хотите переносить.
Стоит понимать, что интерфейс настроек и даже расположение отдельных опций может отличаться у разных версий Android. Свою лепту вносят и производители смартфонов – в некоторых случаях дизайнеры и художники кастомных оболочек также меняют расположение элементов. Спасает ситуацию строка поиска, с помощью которой вы мгновенно можете отыскать любую настройку – это невероятно удобная функция, о которой знают не все.
Как восстановить приложения и сервисы на новом Android-смартфоне
Теперь, прежде чем приступить к переносу данных, нужно сделать следующее:
- Восстановить заряд аккумулятора примерно до 60-70%. Можно и выше, но это необходимый минимум, гарантирующий, что перенос данных пройдет успешно.
- Удостовериться, что ваш старый телефон находится в полностью работоспособном состоянии, и что вы можете его быстро разблокировать.
- Зайти в аккаунт Google на старом смартфоне, введя адрес электронной почты и пароль в настройках аппарата.
- Перейти в настройки Google-аккаунта и осуществить копирование данных.
Остается лишь убедиться, что старый телефон подключен к сети Wi-Fi, и положить его где-нибудь неподалеку.
Дальше рассказываем, как восстановить приложения на новом телефоне. Вам нужно включить новый смартфон и подождать, пока на экране не появится руководство для пользователя с элементами обучения. Содержимое этого руководства может немного отличаться, в зависимости от модели, но в целом там все довольно просто и понятно.
Система предложит вам войти в учетную запись Google, и сама же предложит восстановить данные со старого смартфона на новом – от вас требуется только быть внимательным и не спешить. Подключайтесь к сети Wi-Fi и приступайте к копированию данных. Здесь вы сможете восстановить абсолютно все данные, которые перенесли в облако чуть ранее во время резервирования.
Как проверить объем данных для переноса на новый телефон
Оценить объем зарезервированных данных, которые система будет переносить на новое устройство, можно с помощью Google Диска. Для этого:
- Зайдите в приложение Google Диск.
- В левом верхнем углу нажмите на три полоски, чтобы перейти в панель управления, и здесь выберите пункт «Резервные копии».
- Внутри вы увидите все созданные ранее копии. Сюда входят все данные приложений, а также журнал звонков, настройки устройства и SMS-сообщения.
Просмотреть и как-то взаимодействовать с этими данными Google не позволит – их нельзя редактировать или изменять каким-либо другим способом, но оценить объемы этот способ вполне позволит.
Как перенести СМС с Андроида на Андроид
Хотя SMS-сообщения сейчас редко используют для общения, они все еще остаются важными – посредством их пользователи получают оповещения от приложений и различных компаний. В них хранятся пароли, данные от аккаунтов и другие важные сведения. Хорошая новость в том, что стандартный Android-перенос приложений с данными позволяет также копировать и SMS-сообщения, в чем вы сами можете убедиться, посмотрев на предыдущий скриншот.
Также можно воспользоваться проверенной утилитой SMS Backup & Restore, которая бесплатно распространяется в Play Маркет. Вам нужно будет скачать это приложение и запустить его, а дальше уже все более чем просто и понятно:
- Создаете резервную копию на старом телефоне, ее сохраняете на облаке Google.
- Устанавливаете то же самое приложение на новом телефоне, нажимаете «Восстановить» и выбираете файл-бэкап, созданный ранее и помещенный в облако.
Этот способ хорош тем, что подходит абсолютно для всех версий Android, и он актуален для любых моделей смартфонов. В общем, универсален. Кроме того, помимо SMS-сообщений вы таким образом сможете перенести данные о входящих и исходящих звонках за все время, что также временами бывает полезно.
Переносим контакты с одного телефона Андроид на другой
Первый и самый простой способ для переноса контактов с Андроида на Андроид – это создание резервной копии данных на SIM-карте. Для этого:
- Откройте приложение «Контакты».
- Перейдите в «Опции», затем выберите пункт «Настройки».
- Нажмите на «Импорт/экспорт контактов».
- Выберите пункт «Экспорт», а в качестве хранилища для создаваемого файла выберите SIM-карту.
Теперь вам нужно будет вставить эту SIM-карту в новый телефон и таким же образом перейти в меню «Импорт/экспорт контактов», но вместо экспорта выбрать импорт. В качестве источника для импорта выберите SIM-карту, и данные мгновенно будут загружены в телефон.
Второй способ – с использованием аккаунта Google. Для этого вам нужно:
- Авторизоваться на смартфоне в своем Google-аккаунте.
- В настройках аккаунта перейдите в пункт «Резервное копирование».
- Опуститесь вниз, выберите пункт «Данные аккаунта Google».
Здесь вам необходимо поставить галочку возле пункта «Данные контактов», а при необходимости вы можете выбрать другие данные для копирования – документы, календарь, таблицы и т.д.
Чтобы перенести контакты на новый телефон Андроид, вам теперь нужно всего лишь включить его и авторизоваться в своем Google-аккаунте – остальное система сделает автоматически.
Как перенести календарь с Андроида на Андроид
Предыдущий способ работает также и для календаря – Google предусмотрели возможность синхронизации также и этого приложения. Перенести календарь с Андроида на Андроид можно также и с помощью сторонних приложений, но мы этого делать не рекомендуем – штатные инструменты Google более удобны и безопасны.
Советы по переносу приложений с телефона на телефон
Как мы писали в самом начале статьи, современные версии Android предоставляют широкий инструментарий для резервирования и восстановления всех важных данных. Один только аккаунт Google позволяет хранить в облаке бэкапы:
- приложений, установленных на смартфон;
- фото и видео;
- SMS-сообщений;
- журнала звонков;
- настроек устройства;
- данных аккаунта Google (календарь, документы, таблицы, данные контактов и т.д.).
То есть по факту пользователю не нужны никакие сторонние программы или приложения. Исключение составляют те редкие случаи, когда у вас очень старый телефон на базе тех версий Android, которые еще не предлагали столь широких возможностей по части резервирования и восстановления. В этих случаях можно обратиться к программам от сторонних разработчиков – это SHAREit, CLONEit и другие.
Устанавливая приложения от сторонних разработчиков, вы можете столкнуться с множеством непредвиденных багов и ошибок. В конце концов, в большинстве случаев вам придется мириться с раздражающей рекламой, так что мы рекомендуем пользоваться именно официальными средствами резервирования данных. Благо, их возможностей более чем хватает для большинства пользователей. На этом все, спасибо за внимание и до новых встреч!
Разработка под Android: Особенности синхронизации в android-приложении
При разработке многих 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. Включение синхронизации для созданной пары Account—ContentAuthority
Наконец, можно включить процесс синхронизации. Это можно сделать либо в разделе Settings / Accounts & Sync, либо программно в Вашем приложении:
Для осуществления синхронизации она должна быть разрешена не только для Вашего приложения — необходимо глобальное разрешение на синхронизацию (в разделе Settings / Accounts & Sync должна быть проставлена соответствующая галка).
Если одно из этих условий не выполнено, то вызов RequestSync() ни к чему немедленно не приведет, запрошенная синхронизация однако будет выполнена при включении синхронизации. Хотя, существует способ это обойти.
Дополнительно, можно включить периодические автоматические синхронизации.
Выводы
И так, чем же хороша (+) и плоха (-) синхронизация с помощью SyncAdapter по сравнению с ASyncTask?
(+) следование стандартам (Ваше приложение в списке всех синхронизирующихся приложений)
(+) поддержка нескольких эккаунтов
(+) простота реализации автоматических синхронизаций (когда остальное все уже написано)
(+) автоматическая синхронизация при появлении интернет-соединения
(+) удобство в синхронизации со стандартными базами (контакты, календарь и т.п.)
(-) необходимость создания эккаунта
(-) отсутствие полноценной документации
(-) сложность реализации и тестирования
(-) необходимость в Android 2.2 и выше для автоматических периодических синхронизаций
(-) необходимость создания своего ContentProvider’a
Итого, я выбрал ASyncTask для синхронизации в своем приложении (хотя код для SyncAdapter был уже почти полностью написан) — прежде всего, не хотелось ограничиваться версией 2.2 Android.