J'utilise le serveur apache xampp pour servir des ressources à l'application à partir de ma machine. Mais j'obtiens l'erreur ci-dessus.
J'ai quelque chose sur Google. pointant vers une solution possible ici http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
Quelle est la solution au problème ci-dessus?
Réponses:
Puisque vous n'avez pas spécifié que vous êtes connecté à un serveur à partir du périphérique ou de l'émulateur, je suppose que vous utilisez votre application dans l'émulateur.
Si vous faites référence à votre hôte local sur votre système à partir de l'émulateur Android, vous devez utiliser
http://10.0.2.2:8080/
Parce que l'émulateur Android s'exécute dans une machine virtuelle, c'est donc ici127.0.0.1
oulocalhost
sera la propre adresse de bouclage de l'émulateur.Référez-vous: Réseau d'émulateur
la source
http://localhost:8080/Getdata.php
ouhttp://127.0.0.1:8080/Getdata.php
alors vous devez la modifier comme utilisationhttp://10.0.2.2:8080/Getdata.php
10.0.2.2
par10.0.3.2
si vous utilisez Genymotion.dans android
Remplacer:
String webServiceUrl = "http://localhost:8080/Service1.asmx"
Avec :
String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"
Bonne chance!
la source
localhost et 127.0.0.1 sont les deux façons de dire «la machine actuelle». Donc, localhost sur votre PC est le PC et localhost sur Android est le téléphone. Étant donné que votre téléphone n'exécute pas de serveur Web, il refusera bien sûr la connexion.
Vous devez obtenir l'adresse IP de votre machine (utilisez ipconfig sur Windows pour le savoir) et l'utiliser au lieu de 127.0.0.1. Cela peut toujours ne pas fonctionner en fonction de la configuration de votre réseau / pare-feu. Mais c'est un sujet complètement différent.
la source
la source
Il vous suffit d'utiliser votre adresse IP locale (mais réelle) et votre numéro de port comme ceci:
String webServiceUrl = "http://192.168.X.X:your_virtual_server_port/your_service.php"
Et assurez-vous d'avoir défini l'autorisation Internet dans le manifeste
<uses-permission android:name="android.permission.INTERNET" />
la source
Si vous utilisez localhost dans votre url et testez votre application dans l'émulateur, vous pouvez simplement remplacer l'adresse IP du système pour localhost dans l'URL ou utiliser 10.0.2.2 au lieu de localhost.
http: //localhost/webservice.php à http://10.218.28.19/webservice.php
Où 10.218.28.19 -> Adresse IP du système.
ou
http: //localhost/webservice.php à http://10.0.2.2/webservice.php
la source
Il vous suffit d'utiliser votre adresse IP locale: en utilisant la commande cmd "ipconfig" et le numéro de port de votre serveur comme ceci:
String webServiceUrl = " http: //192.168.XX: your_local_server_port / your_web_service_name.php "
Et assurez-vous que vous avez défini l'autorisation Internet dans le manifeste de votre projet
Ça marche parfaitement pour moi
Bonne chance
la source
ça marche pour moi. J'utilise genymotion pour Run App.
1. Tout d'abord, j'ai vérifié mon adresse IP locale. goto command mode >> Et écrivez ipconfig. Exemple: Windows 10 >> recherchez cmd >> puis écrivez ipconfig. 2. Ensuite, obtenez vos informations IP locales >>> 3.Utilisez donnez votre IP localhost et votre IP de boîte virtuelle. Vous devez utiliser la boîte virtuelle ip pour genymotion.Consultez la capture d'écran ci-dessous. Vous pouvez vous sous n'importe quelle adresse IP sous le réseau hôte de virtualbox
la source
Le remplacement de localhost par 10.0.2.2 est correct, mais vous pouvez également remplacer localhost par l'adresse IP de votre machine physique (c'est mieux à des fins de débogage). Ofc, si ip est fourni par dhcp, vous devrez le changer à chaque fois ...
Bonne chance!
la source
La solution est très simple.
1 Ajouter l'autorisation Internet dans le fichier Androidmanifest.xml
[2] Modifiez votre fichier httpd.config
[3] Et pas le plus impuissant. FAITES DE VOTRE RÉSEAU COMME VOTRE RÉSEAU À DOMICILE
Allez dans Panneau de configuration> Réseau et Internet> Centre Réseau et partage
la source