Как синхронизировать приложения android
Сейчас уже никого не удивляет ситуация, когда у одного человека имеется несколько устройств под управлением Android, например телефон и планшет. При этом вполне может быть, что хотя на каждом из этих устройств и установлен одинаковый набор приложений, но модель использования они имеют несколько отличающуюся. Например, телефон используется на работе и в дороге, а планшет в качестве прикроватной читалки.
В таком случае встает вопрос синхронизации настроек и данных приложений между разными устройствами. Во многих программах, особенно завязанных на интернет, это реализовано с помощью создания единого онлайнового аккаунта. Однако, если вы захотите, например, продолжить игру в Angry Birds на планшете именно с того места, где вы остановились на телефоне, то ничего у вас не получится. Если, конечно, вы не используете программу DataSync ( требуются права суперпользователя ).
Настройка приложения DataSync для синхронизации данных любого приложения между разными устройствами не представляет собой ничего сложного и может быть настроено за несколько простых шагов.
1. Подключение своего аккаунта в Dropbox
После того, как вы скачали и установили DataSync на свой девайс, вам необходимо запустить приложение и открыть его настройки. Найдите в этом разделе секцию, касающиеся Dropbox, и разрешить приложению использовать вашу учетную запись.
2. Выбор приложений
Теперь откройте в DataSync экран Applications и вы увидите список всех программ, установленных на этом устройстве. Отметьте те приложения, состояние которых вы хотите синхронизировать с другим гаджетом.
Теперь щелкните кнопку начала синхронизации, которая выглядит в виде двух стрелок обращенных друг к другу и расположена в верхней панели инструментов приложения.
3. Укажите метод синхронизации
Перед вами появится еще один экран, предлагающий выбрать метод синхронизации. Нажмите на иконку с логотипом Dropbox, а затем выберите одну из трех опций — Automatic Two-way, Upload или Download.
Так как это ваше первое устройство, то необходимо выбрать вариант Upload для загрузки данных в ваш Dropbox. Синхронизация начнется немедленно и об ее окончании вы узнаете на специальном экране.
4. Подключение других устройств
Повторите предыдущие пункты для другого имеющегося у вас гаджета под управлением Android. В третьем пункте этого руководства выберите опцию Download и состояние нужной вам программы будет синхронизировано. В дальнейшем на обоих устройствах можно активизировать опцию Automatic Two-way для автоматической синхронизации данных.
Приложение DataSync позволяет вам автоматически синхронизировать состояние различных приложений между различными устройствами даже в тех случаях, когда разработчиками такая функция не предусмотрена. Теперь вы сможете продолжать играть в игрушку на любом своем устройстве с последней точки сохранения, читать книги с того места, где остановились, и многое другое.
Важно! Некоторые из этих действий можно выполнить только на устройствах с Android 9 и более поздних версий. Подробнее о том, как узнать версию Android…Как работает синхронизация
Во время синхронизации обновляются данные приложений Google. При этом на телефон приходят соответствующие уведомления.
Какие приложения синхронизируются
По умолчанию автоматическая синхронизация с аккаунтом включена для всех приложений Google, однако настройки для отдельных сервисов можно изменить. В приложениях сторонних разработчиков также может быть предусмотрена возможность синхронизации.
- Откройте настройки телефона.
- Выберите О телефонеАккаунт GoogleСинхронизация аккаунта.
- Если на устройстве несколько аккаунтов, выберите нужный.
- Откроется список приложений Google. Рядом с каждым из них будет указано время последней синхронизации.
В приложениях сторонних разработчиков синхронизация и вход могут быть доступны в настройках. Как изменить разрешения для приложений.
Как отключить автосинхронизацию
- Откройте приложение "Настройки" на телефоне.
- Нажмите Аккаунты.
- Если у вас несколько аккаунтов, выберите нужный.
- Нажмите Синхронизация аккаунта.
- Отключите автоматическую синхронизацию для отдельных приложений.
Примечание. При отключении автосинхронизации приложение не удаляется, а просто перестает обновлять данные в автоматическом режиме.
- Откройте настройки телефона.
- Выберите О телефонеАккаунт GoogleСинхронизация аккаунта.
- Чтобы отключить синхронизацию, нажмите на нужный объект.
Как синхронизировать аккаунт вручную
- Откройте настройки телефона.
- Выберите О телефонеАккаунт GoogleСинхронизация аккаунта.
- Если у вас несколько аккаунтов, выберите нужный.
- Коснитесь значка "Ещё" Синхронизировать.
Примечание. Синхронизация вручную позволяет обновить данные аккаунта во всех приложениях Google, в том числе и в тех, для которых автосинхронизация отключена.
Новое устройство Android означает перенос всего Вашего контента, включая Ваши любимые приложения, на новое устройство. Вам не нужно делать это вручную, поскольку Google предлагает встроенную поддержку для резервного копирования и восстановления контента. Вот как это сделать.
Эти шаги могут различаться в зависимости от производителя Вашего устройства, версии Android и могут быть доступны только в новых сборках Android. Если у Вас вообще нет этих шагов, Вы можете вместо этого использовать стороннее приложение, предоставленное производителем Вашего устройства, для переноса приложений.
Использование метода резервного копирования Google
Google использует Вашу учетную запись Google для резервного копирования контента, в том числе приложений, с помощью прилагаемого хранилища дисков. Вам нужно убедиться, что Вы включили Google Backup на старом устройстве, прежде чем делать перенос.
Включить Google Backup
Для начала откройте меню «Настройки» своего устройства в панели приложений или проведите пальцем вниз по панели уведомлений, а затем нажмите значок шестеренки.
Затем нажмите «Система».
Нажмите «Дополнительно», а затем «Резервное копирование».
Убедитесь, что «Резервное копирование на Google Диск» включено, и нажмите «Начать копирование», чтобы обеспечить полное резервное копирование Ваших приложений.
Вы также можете нажать «Данные приложений» для прокрутки и проверки того, что в списке есть все приложения, которые Вы хотите передать. Если это так, Вы готовы начать передачу, поэтому переключитесь на новое устройство.
Перенос приложений на новое устройство
При включении нового устройства Android или устройства, которое было сброшено до заводских настроек, Вам будет предложено восстановить содержимое (включая приложения) из резервной копии Google Диска.
Опять же, важно отметить, что эти инструкции также могут различаться в зависимости от Вашей версии Android и производителя Вашего устройства.
Включите Ваше новое устройство и следуйте начальным инструкциям, пока не получите возможность начать восстановление данных. Выберите «Начать», чтобы начать процесс.
Выберите «Скопировать из облачного хранилища», чтобы начать процесс.
На следующем экране Вас попросят войти в свою учетную запись Google, поэтому сначала сделайте это. После этого Вы увидите список последних резервных копий с устройств Android, связанных с Вашей учетной записью Google.
Чтобы продолжить, коснитесь резервной копии устройства, которое Вы хотите восстановить.
Вам будет предоставлен список параметров содержимого для восстановления, включая настройки Вашего устройства и контакты. Установите флажок рядом с «Приложения» и выберите «Восстановить».
Когда Ваши данные будут восстановлены, Вы можете завершить оставшуюся часть процесса установки и начать использовать устройство.
После завершения восстановления Ваши приложения (и другой контент) будут перенесены на новое устройство из резервной копии Google Диска и будут готовы к использованию.
Проверка Вашей библиотеки приложений Google Play Store
Если Вы уже настроили свое новое устройство перед восстановлением или передачей данных, возможно, стоит посмотреть, какие приложения Вы ранее установили, используя свою учетную запись Google. Ваша библиотека приложений в Play Store позволит Вам быстро установить любые приложения, которые могут отсутствовать на Вашем новом устройстве.
Для начала откройте приложение Google Play Store, а затем раскройте меню в верхнем левом углу.
Нажмите «Мои приложения и игры».
На вкладке «Библиотека» будут перечислены устройства «Не установленные». Нажмите «Установить» рядом с любым (или всеми) приложениями, которые Вы хотите установить на свое устройство.
Использование сторонних приложений
Как и метод резервного копирования Google, они позволят Вам переносить приложения с одного устройства Android на другое. Большинство из этих приложений доступны в магазине Google Play, а иногда и предустановлены.
Лучшими и наиболее надежными являются устройства, предлагаемые производителями устройств, такими как LG Mobile Switch, Huawei Backup и Samsung Smart Switch. Есть и другие сторонние приложения, такие как Helium, но они имеют неоднозначную репутацию: пользователи сообщают, что они не работают на определенных устройствах.
Например, Samsung Smart Switch позволит Вам переносить приложения и другой контент с одного устройства Samsung на другое. Вы можете сделать это по беспроводной связи или соединить свои устройства вместе, используя подходящий USB-кабель.
Переход с iPhone на Android
Когда Вы начинаете настраивать новое устройство Android, вместо того, чтобы выбрать восстановление из резервной копии на Google Диске, коснитесь параметра для передачи данных с Вашего iPhone и следуйте инструкциям на экране.
На дворе 2014 год, доля Android JellyBean перевалила за 60%, появились новые тренды в дизайне. В общем, случилось много всего интересного. Но синхронизация данных с сервером осталось неотъемлемой частью большинства приложений. Существует много способов реализации ее в приложении. Android предоставляет нам SyncAdapter Framework, который позволяет автоматизировать и координировать этот процесс и предоставляет множество плюшек в довесок.
Account
Для начала нам потребуется собственный аккаунт на устройстве. Сначала, я думаю, стоит ответить на вопрос, зачем? Действительно, зачем?
- Поддержка фоновых механизмов вроде SyncAdapter
- Стандартизация способа авторизации
- Поддержка различных токенов (прав доступа)
- Шаринг аккаунта с разграничением привилегий (возможность использовать один аккаунт для различных приложений, как это делает Google)
AccountManager — управляет аккаунтами устройства. Приложения запрашивают авторизационные токены именно у него.
AbstractAccountAuthenticator — компонент для работы с определенным типом аккаунта. Вся механика по работе с аккаунтом (авторизация, разграничение прав) осуществляется здесь. Может быть общим для различных приложений. AccountManager работает именно с ним.
AccountAuthenticatorActivity — базовый класс активити для авторизации/создания аккаунта. Вызывается AccountManager'ом в случае необходимости идентифицировать аккаунт (токен отсутствует или протух).
Как это все работает, можно посмотреть на диаграмме из документации
Когда нам понадобился токен, мы работаем с методом AccountManager'а — getAuthToken. Стоит заметить, что это асинхронный метод и его можно безопасно вызывать из UI потока. Существует также синхронная версия этого метода — blockingGetAuthToken. К диаграмме еще вернемся.
Создание Authenticator'а
Для создания собственного Authenticator'а, нам необходимо расширить AbstractAccountAuthenticator и реализовать несколько его методов (7 если быть точным). Но для нас, на данный момент, представляют интерес всего два.
Метод, как видно из названия, вызывается при попытке добавить новый аккаунт. Все, что мы должны в нем сделать — это вернуть Intent, который должен запустить наше Activity. Чтобы иметь возможность добавить аккаунт из приложения, нам потребуются соответствующие разрешения.
Что же происходит в момент вызова этого метода: пытаемся получить текущий токен методом peekAuthToken, если токен существует, можем добавить проверку на валидность (напомню, что это асинхронный метод, так что можем ломиться на сервер) и возвращем результат. Если токена нет и/или сервер нам не отдал его, мы возвращаем тот же интент что и в методе addAccount. В этом случае пользователя выбьет на экран авторизации.
Создание Activity авторизации
Наше активити должно наследоваться от AccountAuthenticatorActivity (строго говоря, не должно а может: в AccountAuthenticatorActivity 20 строчек вспомогательного кода, который можно написать руками в любом другом активити). У нас будет самое простое активити с полями логин/пароль и кнопкой войти. В целом, в AccountManager'е можно сохранять произвольную информацию о профиле пользователя. Отвечать за получение токена будет AuthTokenLoader, но можно использовать любой понравившийся механизм. Задача-то простая — получить от сервера токен.
Данный метод вызывается, когда токен от сервера получен (а это говорит о валидности аккаунта) и, соответственно, можно добавить аккаунт на устройство. setAccountAuthenticatorResult — метод для передачи результата обратно в AccountManager.
Сервис для интергации в систему
Сервис позволит системе и другим приложениям связываться с нашим Authenticator'ом. Код сервиса максимально прост:
Все, что он делает, это возвращает IBinder нашего Authenticator'a. Причем метод getIBinder уже реализован в AbstractAccountAuthenticator. Осталось только прописать наш сервис в манифесте приложения.
Осталась совсем маленькая деталь: вы могли заметить такую строчку
Это метафайл, который описывает наш Authenticator. Его необходимо создать в папке res/xml. В нем мы указываем иконку нашего аккаунта, его название и тип. В самом простом случае, он выглядит так:
Вот, в целом, все. После этих хитрых манипуляций мы получили возможность создавать свой аккаунт на устройстве. При всей кажущейся сложности, этот процесс на самом деле сводится к реализации 2-х методов, создания xml метафайла и описания сервиса в манифесте. Остальные методы Authenticator'а необходимы для шаринга нашего аккаунта во внешний мир с разделением привилегий, о чем мы поговорим в следующих статьях.
Читайте также: