Estoy usando el servidor xampp apache para entregar recursos a la aplicación desde mi máquina. Pero recibo el error anterior.
Tengo algo en Google. apuntando hacia una posible solución aquí http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
¿Cuál es la solución al problema anterior?
Respuestas:
Como no ha especificado que está conectado a un servidor desde el dispositivo o emulador, supongo que está utilizando su aplicación en el emulador.
Si está refiriendo su host local en su sistema desde el emulador de Android, entonces debe usar el
http://10.0.2.2:8080/
emulador de Android porque se ejecuta en una máquina virtual, por lo tanto, aquí127.0.0.1
olocalhost
será la propia dirección de loopback del emulador.Consulte: Emulador de redes
fuente
http://localhost:8080/Getdata.php
ohttp://127.0.0.1:8080/Getdata.php
entonces tiene que cambiarla como usohttp://10.0.2.2:8080/Getdata.php
10.0.2.2
con10.0.3.2
si está ejecutando Genymotion.en android
Reemplazar:
String webServiceUrl = "http://localhost:8080/Service1.asmx"
Con :
String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"
¡Buena suerte!
fuente
localhost y 127.0.0.1 son ambas formas de decir "la máquina actual". Entonces, localhost en su PC es la PC y localhost en Android es el teléfono. Dado que su teléfono no está ejecutando un servidor web, por supuesto, rechazará la conexión.
Necesita obtener la dirección IP de su máquina (use ipconfig en Windows para averiguarlo) y usarla en lugar de 127.0.0.1. Es posible que esto aún no funcione dependiendo de cómo estén configuradas su red / firewall. Pero ese es un tema completamente diferente.
fuente
fuente
Solo tiene que usar su dirección IP local (pero real) y número de puerto como este:
String webServiceUrl = "http://192.168.X.X:your_virtual_server_port/your_service.php"
Y asegúrese de haber configurado el permiso de Internet dentro del manifiesto
<uses-permission android:name="android.permission.INTERNET" />
fuente
Si está usando localhost en su url y está probando su aplicación en el emulador, simplemente puede reemplazar la dirección IP del sistema por localhost en la URL. O puede usar 10.0.2.2 en lugar de localhost.
http: //localhost/webservice.php a http://10.218.28.19/webservice.php
Donde 10.218.28.19 -> Dirección IP del sistema.
o
http: //localhost/webservice.php a http://10.0.2.2/webservice.php
fuente
Solo tiene que usar su dirección IP local: usando el comando cmd "ipconfig" y el número de puerto de su servidor así:
String webServiceUrl = " http: //192.168.XX: your_local_server_port / your_web_service_name.php "
Y asegúrese de haber configurado el permiso de Internet en el manifiesto de su proyecto
Esta funcionando perfectamente para mi
Buena suerte
fuente
está trabajando para mí. Yo uso genymotion para ejecutar la aplicación.
1. Primero me revisaron mi IP local. Ir al modo de comando >> Y escribir ipconfig. Ejemplo: Windows 10 >> busque cmd >> luego escriba ipconfig. 2. Luego obtenga su información de IP local >>> 3. Utilice dar su IP de host local y la IP de caja virtual. Necesita usar la caja virtual ip para genymotion. Consulte la siguiente captura de pantalla. Puede debajo de cualquier ip en la red de host virtualbox
fuente
Reemplazar localhost con 10.0.2.2 es correcto, pero también puede reemplazar localhost con la ip de su máquina física (es mejor para propósitos de depuración). Ofc, si dhcp proporciona ip, tendrá que cambiarlo cada vez ...
¡Buena suerte!
fuente
La solución es muy sencilla.
1 Agregue permiso de Internet en el archivo Androidmanifest.xml
[2] Cambia tu archivo httpd.config
[3] Y paso más impotente. HAGA SU RED COMO SU RED DOMÉSTICA
Vaya a Panel de control> Redes e Internet> Centro de redes y recursos compartidos
fuente