52 votes

Android java.net.UnknownHostException: l'hôte n'est pas résolu

Ce code ne fonctionne pas:

URL         url   = new URL( xmlPath );
InputSource input = new InputSource( url.openStream() );

tout le temps, résultant en une UnknownHostException, même lorsque l'hôte existe, a été frappé avec succès en utilisant le même code si à partir d'un autre développement de l'hôte (la machine), et également à partir d'un navigateur.

Je suis sans doute hors de la ligne, en posant cette question à nouveau, une répétition de http://stackoverflow.com/questions/3293659/android-java-net-unknownhostexception-host-is-unresolved-strategy-question. Le forum logiciel ne me permet pas de commentaire sur la mauvaise réponse à cette question (afin de solliciter plus d'attention à la solution que j'ai finalement trouvé). Peut-être que je ne suis pas assez populaire pas encore eu ce privilège. En attendant, je suis essentiellement ré-affichage de la question et une réponse différente.

En gros, j'accepte que, peut-être de l'appareil Android, a un moment difficile avec le DNS, dans certaines circonstances, mais j'ai essayé, par exemple le anddev.org exemple d'utilisation de l'analyseur SAX, et il a travaillé sur une machine que j'ai et pas sur un autre.

Edit: Comme indiqué, je sais un travail de réponse et le poster.

Je suis une) en posant une question (qui a déjà été demandé et répondu sans succès) et b) de répondre pour le bénéfice de ceux pour qui ma réponse vous sera utile.

71voto

Russ Bateman Points 6868

La réponse est diablement simple: supprimez puis recréez votre AVD (périphérique virtuel / émulateur) dans Eclipse. Cela a fonctionné pour moi - première fois.

55voto

yancyn Points 705

J'ai été suivre les étapes ci-dessus, mais encore essayez pas de chance, enfin je viens de réaliser mon application n'a pas la possibilité d'aller à l'extérieur de l'internet dans l'émulateur. Donc juste ajouter des utilisateurs des autorisations dans votre fichier manifeste. Fait! Grâce à jozsi voir http://www.helloandroid.com/tutorials/how-download-fileimage-url-your-device

  1. android.la permission.INTERNET
  2. android.la permission.ACCESS_NETWORK_STATE
  3. android.la permission.READ_PHONE_STATE

14voto

milesology Points 111

Dans mon cas, je téléchargeais un fichier XML à partir d'une URL sur mon téléphone, mais le problème était décrit dans ce fil.

pour le réparer, non seulement j'avais besoin de la permission Internet habituelle

 <uses-permission android:name="android.permission.INTERNET" /> 
 

Mais j'avais aussi besoin

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 

Pour savoir si votre appareil a peut-être besoin de la même chose, essayez de naviguer vers l'URL du navigateur de votre téléphone pour voir si des invites vous demandent d'utiliser une carte SD ou quelque chose du genre.

J'espère que cela aide les autres.

13voto

beetstra Points 2246

J'ai aussi vu cela sur un téléphone (lors du débogage USB). La solution consistait à désactiver le WiFi et à le réactiver.

8voto

Rahul Shirphule Points 146

Cela fonctionne pour moi en ajoutant la permission de l'utilisateur pour Internet dans le fichier AndroidMenifest.xml

 <uses-permission android:name="android.permission.INTERNET"/>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X