Подтвердить что ты не робот

Android - связь между двумя устройствами

Как лучше всего установить приложение Android на двух устройствах друг с другом? Могут ли устройства напрямую подключаться без использования текстовых сообщений?

4b9b3361

Ответ 1

Вы можете подключить их через bluetooth с помощью BluetoothSockets. На веб-сайте разработчика Android есть довольно хорошая документация.

http://developer.android.com/guide/topics/wireless/bluetooth.html

Или, если вы предпочитаете (и имеете интернет на обоих устройствах), вы можете использовать обычные Socket.

http://developer.android.com/reference/java/net/ServerSocket.html для серверной части http://developer.android.com/reference/java/net/Socket.html для клиентской стороны

Если у вас есть большой объем данных для передачи, интернет-сокеты имеют большую емкость данных и будут быстрее. Другое преимущество заключается в том, что нет такой вещи, как "вне диапазона". Вы можете подключить два устройства везде, где доступен Интернет, тогда как с Bluetooth они должны находиться в диапазоне Bluetooth друг от друга.

Ответ 2

У вас есть несколько вариантов, в зависимости от ваших требований и настройки:

  • Если ваши устройства очень близки друг к другу (до 10 метров), вы можете общаться с помощью Bluetooth, как предложил Дерек.
  • Если ваши устройства находятся в некотором отдалении, но в пределах диапазона WiFi друг от друга (до 100 метров), тогда они могут общаться друг с другом, используя API-интерфейс Peer-to-Peer WiFi, документированный здесь (часть Android Wireless API). Это не требует наличия WiFi-маршрутизатора, и устройства будут находить друг друга и общаться напрямую. Однако для этого требуется Android 4.1 или выше.
  • Android Wireless API также будет работать, если ваши устройства находятся в одной локальной сети (т.е. используют тот же WiFi-маршрутизатор), даже если они не находятся в пределах друг от друга.
  • Если ни один из этих вариантов не является жизнеспособным/гарантированным, я согласен с Дереком, что самым простым способом было бы использовать ServerSocket и Socket для создания интерфейса сервера/клиента через Интернет. Вот пример приложения . Основная проблема, с которой вы можете столкнуться, заключается в том, что если сервер сидит за NAT (например, домашний интернет-маршрутизатор), вам придется настроить NAT для пересылки входящих пакетов на ваш сервер Android.

Ответ 4

В зависимости от того, что вы делаете. Если у вас есть сервер, вы можете отправить ему какое-то сообщение и вытащить его на другое устройство (при условии, что оба клиента установили приложение). Я думаю, что это будет самый интуитивный способ (но это действительно зависит от того, что вы общаетесь).

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

Ответ 5

API андроида NSD предназначен для того, чтобы сделать то же самое, чего вы пытаетесь достичь! Пример, связанный с SDK, является самоочевидным!

проверьте:

Пример API NSD для Android

Ответ 6

вы должны взглянуть на WifiDirect

Wi-Fi peer-to-peer (P2P) позволяет Android 4.0 (API-уровень 14) или более поздней версии устройства с соответствующим оборудованием для подключения напрямую к каждому другой через Wi-Fi без промежуточной точки доступа.