¿Cuál es la mejor forma de comunicarse entre sí de una aplicación de Android instalada en dos dispositivos? ¿Pueden los dispositivos conectarse directamente sin usar mensajes de texto?Android: comunicación entre dos dispositivos
Respuesta
Puede conectarlos a través de Bluetooth utilizando BluetoothSockets. El sitio web para desarrolladores de Android tiene una documentación bastante buena sobre esto.
http://developer.android.com/guide/topics/wireless/bluetooth.html
O si lo prefiere (y tener internet en ambos dispositivos), puede utilizar regularmente zócalo de.
http://developer.android.com/reference/java/net/ServerSocket.html para el lado del servidor http://developer.android.com/reference/java/net/Socket.html para el lado del cliente
Si usted tiene una gran cantidad de datos a transferir, tomas de Internet tienen una mayor capacidad de datos y serán más rápidos. La otra ventaja es que no existe tal cosa como "fuera de rango". Puede conectar los dos dispositivos donde esté disponible Internet, mientras que con bluetooth tienen que estar dentro del rango de bluetooth entre ellos
Hola Derek, tengo algunas preguntas. Espero que respondas. ¿Cómo se supone que la aplicación obtenga la dirección IP del servidor? y también RMI funciona solo cuando ambos dispositivos usan la misma red, por casualidad ¿es lo mismo para enchufes? – Ruturaj
¿"WiFi-Direct" no es una opción también? – Mick
Depende de lo que esté haciendo. Si tiene un servidor, es posible que pueda enviarle un mensaje y que el otro dispositivo lo retire (suponiendo que ambos tengan instalada la aplicación). Creo que esta sería la forma más intuitiva (pero realmente depende de lo que estás comunicando).
Los mensajes de texto y el correo electrónico pueden funcionar, pero usted (o el usuario) necesita saber los números/correos electrónicos asociados con un dispositivo para hacer eso.
puede usar PubNub. maneja todas las redes y solo debería preocuparse por los mensajes. tiene una API excelente para funcionar.
(Gracias a @Ian Jennings: Can we send data from an android device to another android device directly (p2p) without server in the middle?)
La API NSD androide está destinado a hacer exactamente lo mismo que usted está tratando de lograr! ¡El ejemplo incluido con SDK es auto explicativo!
favor verifica:
Usted tiene varias opciones, dependiendo de sus necesidades y configuración:
- Si los dispositivos están muy cerca uno del otro (hasta unos 10 metros) , puedes comunicarte usando Bluetooth, como sugirió Derek.
- Si sus dispositivos están algo más alejados, pero dentro del alcance de Wi-Fi de unos a otros (hasta unos 100 metros), entonces pueden comunicarse entre ellos utilizando la API de WiFi punto a punto, documentada here (parte de Android API inalámbrica). Esto no requiere que esté presente un enrutador WiFi, y los dispositivos se encontrarán y se comunicarán directamente. Sin embargo, esto requiere Android 4.1 o superior.
- La API inalámbrica de Android también funcionará si sus dispositivos están en la misma red local (es decir, usan el mismo enrutador WiFi), incluso si no están dentro del alcance de la otra.
- Si ninguna de estas opciones es viable/garantizada, entonces estoy de acuerdo con Derek en que la forma más fácil sería usar ServerSocket y Socket para crear una interfaz servidor/cliente a través de Internet. Aquí hay un sample application haciendo eso.El principal problema que puede encontrar es que si el servidor está sentado detrás de un NAT (como un enrutador de Internet doméstico), tendrá que configurar el NAT para reenviar los paquetes entrantes a su servidor Android.
usted debe echar un vistazo a WifiDirect
Wi-Fi peer-to-peer (P2P) permite a Android 4.0 (API de nivel 14) o posterior dispositivos con el hardware adecuado para conectarse directamente a cada otros a través de Wi-Fi sin un punto de acceso intermedio.
- 1. Comunicación entre dos dispositivos iOS
- 2. Android API para comunicación entre dispositivos
- 3. comunicación android entre dos aplicaciones
- 4. Comunicación punto a punto entre dispositivos iOS y Android
- 5. Comunicación entre dos hilos
- 6. Comunicación entre Android y PC
- 7. comunicación entre dos aplicaciones flexibles
- 8. Transferencia de datos entre dos dispositivos Wifi
- 9. ¿Cómo transferir "datos" entre dos dispositivos (Android, iPhone)?
- 10. Enhebrado, comunicación entre dos hilos C#
- 11. comunicación entre dos procesos que ejecutan node.js
- 12. Medir la distancia entre dos dispositivos iOS
- 13. Comunicación entre Android Java y Phonegap Javascript?
- 14. ¿Transfiere un archivo entre dispositivos Android?
- 15. comunicación entre servlets remotos
- 16. Comunicación entre aplicaciones Rails
- 17. Comunicación entre dos aplicaciones de escritorio Java separadas
- 18. Comunicación entre dos aplicaciones en la misma máquina local
- 19. Comunicación entre dos computadoras usando el socket python
- 20. La comunicación entre dos procesos en heroku (qué puerto usar)
- 21. Comunicación entre dos aplicaciones web en el mismo servidor
- 22. ¿Cómo medir la distancia entre dos dispositivos iphone usando bluetooth?
- 23. Comunicación entre fragmentos/cuadros de diálogo en android
- 24. Comunicación entre procesos en Lua
- 25. ¿Puedes establecer conexiones Bluetooth múltiples entre los mismos dos dispositivos en Android?
- 26. Distancia entre dos teléfonos Android
- 27. Android - Distancia entre dos ciudades
- 28. C# comunicación entre hilos
- 29. Comunicación entre varios servidores
- 30. Backbone.js: comunicación entre vistas
Android Beam :) Pero eso solo está disponible en un puñado de dispositivos nuevos. –