web-dev-qa-db-fra.com

Impossible de résoudre l'hôte "<insérer l'URL ici>" Aucune adresse associée au nom d'hôte

J'ai essayé de suivre ce tutoriel: Obtenir des données du Web

J'ai essayé de l'implémenter sur Android 3.0, la dernière plate-forme pour tablettes, cependant, j'obtiens cette erreur: " Impossible de résoudre l'hôte" www.anddev.org "Aucune adresse associée au nom d'hôte. "

Vous pouvez extraire l'URL que j'ai utilisée pour prouver que le fichier existe. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

J'ai créé une classe privée et l'ai étendue avec asynctask. Voici le code:

    private class Downloader extends AsyncTask<String,Void,String>{
    String myString = null;
    @Override
    protected String doInBackground(String... arg0) {
        try{
            URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
            URLConnection ucon = myURL.openConnection();
            InputStream is = ucon.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);
            int current = 0;
            while((current=bis.read())!=-1){
                baf.append((byte)current);
            }
            myString = new String (baf.toByteArray());
        }catch(Exception e){
            myString = e.getMessage();
        }
        return myString;
    }
@Override
protected void onPostExecute(String result){
    tv.setText(result);
}
}

Toute aide serait appréciée.

95
황현정

Mon pari est que vous avez oublié de donner à votre application la permission d'utiliser Internet. Essayez d’ajouter ceci à votre Android manifeste:

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
147
leech

S'il vous plaît, vérifiez si vous avez une connexion Internet valide.

113
Vladimir Ivanov

Peut vous avoir pris la permission

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

MAIS

Vous avez peut-être oublié de activer Internet dans un appareil mobile ou autre.

62

Pouvez-vous accéder à cette URL à partir du navigateur intégré?

Sinon, cela signifie que votre configuration réseau n'est pas correcte. Si vous êtes dans l'émulateur, vous pouvez jeter un coup d'œil à la section résea de la documentation.

Si vous êtes sur OS/X, l'émulateur utilise "la première" interface, en0 même si vous êtes sur sans fil (en1), car en0 sans câble est toujours marqué en haut. Vous pouvez délivrer ifconfig en0 down et redémarrez l'émulateur. Je pense avoir lu des informations sur un comportement similaire sous Windows.

Si vous utilisez le Wifi/3G, appelez votre fournisseur de réseau pour connaître les paramètres DNS corrects.

11
Heiko Rupp

si vous avez un accès Internet USB comme moi, l'émulateur semble ne pas aimer que la connexion soit activée et désactivée. Vous devrez peut-être redémarrer l'émulateur.

11
Ian

Cette erreur à cause de votre hôte ne peut pas être traduite en adresses IP via DNS.

Résolution de ce problème:

1- Assurez-vous de vous connecter à Internet (vérifiez la qualité du réseau).

2- Assurez-vous de prendre les autorisations nécessaires pour accéder au réseau

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
6
Mina Fawzy

J'ai eu la même erreur et pour le problème était que j'étais sur VPN et je ne m'en rendais pas compte. Après avoir déconnecté le VPN et reconnecté le wifi, il a été résolu.

4
adubey

Assurez-vous également que votre appareil n'est pas en mode avion et/ou que l'utilisation des données est activée.

2
Dave Justen

Si vous voyez ceci par intermittence sur une connexion Wi-Fi ou LAN, mais que votre connexion Internet mobile semble correcte, il est fort probable que le routeur de passerelle bon marché de votre FAI connaît une charge de trafic élevée.

Vous devez intercepter ces erreurs et rappeler à l'utilisateur de fermer toute autre application utilisant le réseau.

Testez en lançant quelques vidéos HD youtube sur votre bureau pour les reproduire, ou allez simplement chez un Starbucks occupé.

0
Dominic Cerisano