Сеть одного андроида с другим

Взаимодействие Android-устройств в локальной сети

Предположим, мы пишем игру для Android, которая подразумевает некое сетевое взаимодействие между устройствами. Причем наши устройства находятся в одной сети и мы хотим, чтобы взаимодействие между ними осуществлялось быстро, а значит вариант с обменом данными через интернет нам не подходит. Ах да, еще одна маленькая ложка дегтя — мы хотим охватить максимально возможную аудиторию, для чего нам необходимо поддерживать Android 2.3.
Что же нам делать? Давайте поговорим об этом, а заодно рассмотрим относительно новые возможности Android SDK для соединения двух и более устройств.

О чем это и для кого это?

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

Какие возможные способы решения существуют?

  1. Android Network Service Discovery. Простой и эффективный способ обнаружения устройств. На Android Developer есть пошаговое руководство по подключению NSD, есть пример NsdChat, который можно скачать там же. Но есть один существенный минус — данный метод поддерживается только начиная с API Level 16, то есть с Android 4.1 Jelly Bean;
  2. Второе решение, предлагаемое нам на сайте Android Developer — Wi-Fi Peer-to-Peer. Проблема этого метода та же самая — поддерживается он только начиная с API Level 16;
  3. Есть странное решение, которое предлагается некоторыми программистами на Stack Overflow — самостоятельно сканировать локальную сеть на предмет наличия сервера. То есть проходить по всем адресам сети. Это уже сейчас звучит как странный велосипед, а теперь представьте, что порт нашего сервера назначается автоматически. Таким образом, сканирование даже самую небольшой сети становится достаточно долгой и трудоемкой задачей;
  4. Наконец, мы можем обратить внимание на Java-библиотеки и написать что-нибудь с их использованием. Например, JmDNS.

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

Я вооружился JmDNS и решил попробовать соорудить несколько классов, которые по максимуму упростят написание описанных выше приложений. Но для начала пришлось немного повырезать дубликаты .class-файлов из jar-пакета JmDNS (проблема описана здесь):

Далее я взял исходный код NsdChat с Android Developer и изменил его служебный класс, который отвечает за инициализацию сокетов и организацию сетевого взаимодействия. Также я написал wrapper для JmDNS

Здесь размещены 4 основные функции для работы Network Discovery:

  1. startServer для создания сервера и регистрации соответствующего сервиса в локальной сети;
  2. findServers для поиска серверов;
  3. reset для окончания работы с Network Discovery и последующего освобождения ресурсов;
  4. wifiLock для запроса блокировки Wi-Fi.
Читайте также:  Wifi мышь для андроид

В завершении я написал универсальный класс ConnectionWrapper для полноценной организации обнаружения, а также обмена сообщениями в локальной сети. Таким образом, создание сервера в конечном приложении выглядит следующим образом:

А вот и mServerHandler, использующийся для приема и обработки сообщений:

Отправка сообщений еще проще:

И, наконец, метод для обнаружения и подключения к серверу:

Как видите, все очень просто. А главное, все это работает в любой версии Android для максимум двух устройств. Но сделать так, чтобы это работало для условно неограниченного числа устройств очень легко, и очевидное решение придет к вам почти сразу после детального изучения класса Connection. Пусть это будет в качестве домашнего задания.
Ах, да, весь код доступен для изучения и использования всеми желающими в моем репозитории на GitHub.. И, конечно, не исключаю то, что некоторые вещи можно сделать лучше и проще, поэтому не стесняйтесь форкать и делать pull request’ы.

Источник

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

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

Подготовка телефонов андроид к синхронизации

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

Обратите внимание! Очень часто приходится синхронизировать телефон с компьютером, планшетом или другим смартфоном.

Настройки по умолчанию позволяют синхронизировать следующие данные:

  • логины, пароли, закладки, которые сохранены в браузере, например, Google Chrome;
  • сообщения, а также данные почты;
  • приложения, игры;
  • история звонков, контакты;
  • фотографии, видеоматериалы;
  • заметки, файлы или другие папки;
  • напоминания из календаря.

Все эти данные можно без проблем синхронизировать между двумя устройствами с помощью Гугл платформы. Но как включить синхронизацию аккаунта на андроид? Для начала необходимо подготовить оба смартфона. Сделать это очень просто, во-первых, стоит проверить уровень зарядки, чтобы в самый последний момент телефон не отключился. А в-вторых, подключиться к Wi-Fi-сети.

Важно! Если подключение будет через мобильный Интернет, то есть риск потратить слишком много трафика.

Включить синхронизацию андроид-устройства очень просто. Достаточно следовать простой инструкции:

  1. На главном экране смартфона нужно найти иконку «Настройки».
  2. После перехода в это окно найти раздел «Пользователи и аккаунты».
  3. Затем необходимо выбрать только нужный аккаунт. Если необходимо изменить настройки синхронизации с Гугл аккаунтом, то выбирать следует именно эту строчку.
  4. После того как будет выбран аккаунт, в нем можно настроить все параметры через раздел «Синхронизация».

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

Как включить синхронизацию между устройствами Android через аккаунт Google

Абсолютно все пользователи андроид-телефонов имеют Гугл аккаунт. Именно он во многом может ускорить процесс обмена данными между смартфонами. Как синхронизировать два андроида между собой? Для этого достаточно в настройках найти учетную запись и выбрать Google аккаунт. Дальше необходимо пометить все данные, которые должны быть перенесены. Затем нужно нажать на кнопку «Синхронизировать». Теперь данные находятся в облаке.

Читайте также:  Диагностика renault elm327 android

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

Важно! Перед созданием резервной копии необходимо убедиться, что все данные (контакты, сообщения, приложения, фото и заметки) были сохранены в аккаунте.

Чтобы настроить резервное копирование, нужно:

  1. Открыть настройки, в разделе «Система» выбрать «Дополнительные настройки».
  2. В открывшемся окне необходимо нажать на «Создание резервной копии». Также необходимо убедиться, что активирован переключатель «Загрузить на Гугл диск», а также указан верный адрес почты.
  3. Дальше остается только подтвердить действие с помощью кнопки «Продолжить».

Способ синхронизации через аккаунт Google

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

Контакты

Книгу абонентов и контактов можно также синхронизировать отдельно от других приложений. Чтобы это сделать, необходимо:

  1. В настройках выбрать Гугл аккаунт.
  2. Через настройки выбрать необходимый почтовый адрес.
  3. Среди всех параметров нужно поставить галочку напротив строки «Контакты».

Останется только подтвердить действие, а затем дождаться окончания процесса.

Google Фото

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

Обратите внимание! Иногда может появиться окно, в нем нужно разрешить приложению доступ к файлам.

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

Если на смартфоне нет приложения Гугл Фото, его нужно будет скачать через Play Market.

Перенести фотографии, видеофайлы можно несколькими способами, например, через блютуз или с помощью облачного хранения («Яндекс.Диск» и т. д.).

Приложения

Синхронизация приложений Android также доступа благодаря простой инструкции:

  1. Для начала нужно включить «Резервное копирование», а затем синхронизировать все данные.
  2. На новом телефоне необходимо восстановить резервную копию со старого устройства.

Если существует необходимость перенести только приложения, сделать это можно через плэй маркет. В нем существует раздел «Мои приложения». Здесь будут сохранены все приложения, которые были установлены до этого на старом устройстве.

Обратите внимание! Чтобы скопировать приложение, нужно на обоих устройствах в плей маркете зайти в один аккаунт.

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

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

Как синхронизировать два андроида между собой через сервис Dropsync

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

Синхронизация через сервис Dropsync

Среди преимуществ проги выделяют:

  • эффективность. Батарея используется по минимуму, а значит телефон разрядится не так быстро;
  • расширение может спокойно функционировать даже при нестабильном интернет-соединении;
  • простой, интуитивно понятный интерфейс.
Читайте также:  Сервисы операционной системы андроид

Чтобы установить приложение, необходимо:

  1. Установить его через плей маркет. После установки необходимо выполнить подключение.
  2. После того как вход будет выполнен, приложение автоматически перенаправит на стартовую страницу. Там отобразится надпись «Dropsync аккаунт подключен». Дальше необходимо нажать на «Мастер синхронизации».
  3. После нужно выбрать кнопку «Создать свою синхронизацию».
  4. Через первый блок можно перейти в каталог файлов, через второй — в разделе «Локальная папка» откроется каталог смартфона. Здесь необходимо выбрать директорию синхронизации. Обратите внимание, что все данные будут переданы на сервер сразу.
  5. После того как файлы будут выбраны, нужно будет вернуться к странице «Параметры», а метод синхронизации изменить на «Двусторонний».

Важно! Нужно сохранить все изменения, а также убедиться, что переключатель синхронизации активирован.

Как синхронизировать андроид с андроидом через беспроводное соединение

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

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

Передача данных через Wi-Fi Direct

Bluetooth

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

Обратите внимание! Иногда может потребоваться подтверждение действия вводом специального пароля.

Использование различных программ

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

Smart Switch для синхронизации двух смартфонов

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

  • для передачи контактов, сообщений, заметок;
  • для отправки приложений, фотографий, видео и музыки.

Для использования приложения достаточно зарядить смартфон хотя бы на 50 %, скачать программу на оба устройства, выбрать новое и старое устройство, а также выбрать способ связки. Настройка займет не больше 10-15 сек. Затем останется только выбрать нужные файлы и нажать на отправку.

Smart Switch для синхронизации двух смартфонов

Phone Clone для синхронизации Huawei и другого Android-телефона

Для использования этого приложения не обязательно использовать телефон марки «Хуавей». С помощью данной утилиты можно связать два андроид-устройства. Приложение не тратит мобильный трафик, работая через Wi-Fi-сеть. Приложение позволяет быстро передавать данные, создавая защищенное соединение.

С его помощью можно отправить данные даже с разных операционных систем, например, с iOS на Android. При открытии приложения нужно выбрать операционную систему нового и старого смартфона. Приложение способно передавать историю звонков, контакты, СМС, ММС, а также данные браузеров (пароли, логины, закладки).

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

Источник

Оцените статью