He buscado en Google. Lo intenté mucho. En Android 2.2 y SDK 8, ¿cómo puedo usar SSID en una lista en Android? Al usar SSID, debe obtener propiedades específicas del dispositivo WiFi habilitado programáticamente. Con esa ayuda, debe transferir los datos entre dos dispositivos habilitados para WiFi en Android. ¿Alguien puede ayudarme en esto por favor?Transferencia de datos entre dos dispositivos Wifi
6
A
Respuesta
17
Para enviar datos de manera significativa entre dos dispositivos Android, usaría una conexión TCP. Para hacer eso necesitas la dirección IP y el puerto en el que el otro dispositivo está escuchando.
Los ejemplos están tomados del here.
Para el (lado escuchar) del lado del servidor se necesita un socket de servidor:
try {
Boolean end = false;
ServerSocket ss = new ServerSocket(12345);
while(!end){
//Server is waiting for client here, if needed
Socket s = ss.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter output = new PrintWriter(s.getOutputStream(),true); //Autoflush
String st = input.readLine();
Log.d("Tcp Example", "From client: "+st);
output.println("Good bye and thanks for all the fish :)");
s.close();
if (STOPPING conditions){ end = true; }
}
ss.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Por el lado del cliente que necesita un enchufe que se conecta al socket del servidor. Por favor, reemplazar "localhost" con el mando a distancia dispositivos Android dirección IP o nombre de host:
try {
Socket s = new Socket("localhost",12345);
//outgoing stream redirect to socket
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
//read line(s)
String st = input.readLine();
//. . .
//Close connection
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2
For data Transfer between 2 devices over the wifi can be done by using "TCP" protocol. Connection between Client and Server requires 3 things
1) Using NSD Manager, Client device should get server/host IP Address.
2) Send data to server using Socket.
3) Client should send its IP Address to server/host for bi-directional communication.
Para el código VERIFICACIÓN ver este link
For faster transmission of data over wifi can be done by using "WifiDirect"
which is a "p2p" connection. so that this will transfer the data from
one to other device without an Intermediate(Socket). For Example catch
este enlace en Google Developers wifip2p y P2P Connection with Wi-Fi
Capture una muestra en Github WifiDirectFileTransfer
Cuestiones relacionadas
- 1. Android: comunicación entre dos dispositivos
- 2. Comunicación entre dos dispositivos iOS
- 3. ¿Cómo transferir "datos" entre dos dispositivos (Android, iPhone)?
- 4. Descubre dispositivos móviles usando wifi
- 5. Transferencia de datos grandes entre servidores Fast
- 6. Medir la distancia entre dos dispositivos iOS
- 7. WiFi Direct (Android 4.0) con múltiples dispositivos (3+)
- 8. ¿Permitir que dos dispositivos se vean en Android usando la interfaz wifi?
- 9. ¿Cómo medir la distancia entre dos dispositivos iphone usando bluetooth?
- 10. iOS detectar puntos de conexión WiFi o dispositivos Bluetooth
- 11. Almacén de datos local Html5 y sincronización entre dispositivos
- 12. ¿Los dispositivos Android escanean * activamente * para redes WiFi?
- 13. ¿Transfiere un archivo entre dispositivos Android?
- 14. Sincronización entre dos bases de datos
- 15. compartir datos entre dos aplicaciones de iphone
- 16. Intercambio de datos entre dos aplicaciones
- 17. Compartir datos de iCloud entre dos aplicaciones
- 18. Android + transferencia de datos Bluetooth Arduino
- 19. Android isócrono transferencia de datos USB
- 20. Transferencia de datos de SQL Server a MySQL
- 21. codeigniter: Obteniendo datos publicados entre dos fechas
- 22. Filtrar datos entre dos fechas utilizando LINQ
- 23. Android API para comunicación entre dispositivos
- 24. ¿Cómo verificar rápidamente si dos objetos de transferencia de datos tienen las mismas propiedades en C#?
- 25. Bluetooth/WiFi entre Mac y iOS aplicación
- 26. ¿cuál es la diferencia entre un modelo de vista y un objeto de transferencia de datos?
- 27. ¿Qué métodos, además de escuchar solicitudes de sondeo, se pueden usar para encontrar dispositivos wifi 802.11?
- 28. Cómo comprobar o desactivar la conexión de red en WIFI y 3G (plan de datos) en dispositivos móviles?
- 29. conexión múltiple directa WiFi de Android ad-hoc
- 30. serialización de transferencia de datos objetos en .NET