Hacer que Android hable con Apache en localhost

Mi aplicación de Android habla con un servidor php. Tengo Apache / php ejecutándose localmente en WAMP Server. Estoy corriendo Windows 7. Si voy a localhost en Windows 7 el sitio muestra, pero en el teléfono se buscará localhost en el sistema operativo Android actual, por lo que no muestra el sitio.

Me las arreglé para evitar esto abriendo mi configuración de apache a Internet y luego usar mi dirección IP externa, esto es molesto porque estoy en un IP dinámico ya veces no tienen internet (+ no seguro).

¿Cómo puedo hacer una solicitud http de android acceso localhost (u otro alias en el archivo hosts)?

Jon es correcto que en el caso general no se puede hacer que el dispositivo android se conecte a un PC a través del cable usb (una diferencia importante del emulador de Android donde dicha conexión se logra mediante una dirección de alias). Sin embargo, hay algunas cosas que puedes hacer:

  • Puede conectar el PC y el teléfono a un enrutador wifi seguro. Ni siquiera necesita tener una conexión de Internet ascendente.

  • Al parecer, si usted tiene froyo y la opción de conexión de USB, convirtiendo esto en como un efecto secundario establecer la creación de redes a través de USB que permite que el teléfono para ponerse en contacto con la PC (sólo ver donde el tráfico de Internet de PC va sin embargo)

  • Si usted quería algo en el PC para abrir una conexión a algo que escucha en el teléfono, usted podría utilizar un puerto de adb hacia adelante. Pero suena como usted quiere que un cliente en la PC para ponerse en contacto con un servidor en el teléfono, por lo que no funcionará.

En general, no se puede.

Lo que puede hacer, si la computadora está en la misma red inalámbrica que el dispositivo Android, se conecta a la IP interna de la computadora. Por ejemplo, en un router wifi doméstico típico, el enrutador está en 192.168.1.1 , y los dispositivos conectados a él son 192.168.1.x Así que si su PC de Windows 7 está en 192.168.1.5 , debería ser capaz de acceder a esto desde su dispositivo Android muy bien …

De hecho, para una red local debe utilizar su dirección IP local (por ejemplo, 192.168.1.x). No olvide abrir su puerto (en su mayoría 80) en su configuración de firewall de Windows.

Cada instancia del emulador se ejecuta detrás de un servicio de enrutador / cortafuegos virtual que lo aísla de las interfaces y configuraciones de red de su máquina de desarrollo y de Internet. Un dispositivo emulado no puede ver su máquina de desarrollo u otras instancias de emulador en la red. En cambio, sólo ve que está conectado a través de Ethernet a un enrutador / firewall.

El enrutador virtual para cada instancia administra el espacio de direcciones de red 10.0.2 / 24 – todas las direcciones administradas por el enrutador están en forma de 10.0.2., Donde es un número. Las direcciones dentro de este espacio son preasignadas por el emulador / enrutador de la siguiente manera: Dirección de red Descripción 10.0.2.1 Dirección del enrutador / pasarela 10.0.2.2 Alias ​​especial a la interfaz de loopback del host (es decir, 127.0.0.1 en su máquina de desarrollo) 10.0.2.3 Primer servidor DNS 10.0.2.4 / 10.0.2.5 / 10.0.2.6 Servidor DNS opcional segundo, tercero y cuarto (si existe) 10.0.2.15 Interfaz red / ethernet del dispositivo emulado 127.0.0.1 La propia interfaz de bucle de retorno del dispositivo emulado

También tenga en cuenta que la dirección 127.0.0.1 de su máquina de desarrollo corresponde a la propia interfaz de bucle de retorno del emulador. Si desea acceder a los servicios que se ejecutan en la interfaz de loopback de su máquina de desarrollo (aka 127.0.0.1 en su máquina), debe utilizar la dirección especial 10.0.2.2.

Para obtener más detalles, consulte http://red23rockets.com/?p=28

Abrir el terminal y el tipo para Unix (Ubuntu): ifconfig o ipconfig para Windows y vas a ver:

  • Eth1 Enlace encap: Ethernet HWaddr 00: 23: 8e: af: 61: 76
  • Inet addr: 192.168.1.6

Su número puede ser diferente de éste.

  • Web = (WebView) findViewById (R.id.webview01);
  • Web.setWebViewClient (nuevo myWebClient ());
  • Web.loadUrl ("[http://192.168.1.6]"); // retirar [ ]
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.