J'ai essayé de suivre ce tutoriel: Obtenir des données à partir 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 juste 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.
Réponses:
Je parie que vous avez oublié de donner à votre application la permission d'utiliser Internet. Essayez d'ajouter ceci à votre manifeste Android:
la source
Veuillez vérifier si vous disposez d'une connexion Internet valide.
la source
Pouvez-vous avoir pris la permission
MAIS
Vous avez peut-être oublié d' activer Internet sur mobile ou sur n'importe quel appareil.
la source
Pouvez-vous accéder à cette URL à partir du navigateur intégré?
Sinon, cela signifie que la configuration de votre réseau n'est pas correcte. Si vous êtes dans l'émulateur, vous pouvez consulter la section réseau 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é comme actif. Vous pouvez lancer
ifconfig en0 down
et redémarrer l'émulateur. Je pense avoir lu un comportement similaire sur Windows.Si vous êtes sur Wifi / 3G, appelez votre fournisseur de réseau pour les paramètres DNS corrects.
la source
si vous avez 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
la source
Cette erreur à cause de votre hôte ne peut pas être traduite en adresses IP via DNS.
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
la source
J'ai eu la même erreur et 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, le problème a été résolu.
la source
Assurez-vous également que votre appareil n'est pas en mode avion et / ou que l'utilisation des données est activée.
la source
Si vous voyez cela par intermittence sur le wifi ou le LAN, mais que votre connexion Internet mobile semble correcte, il est fort probable que le routeur de passerelle bon marché de votre FAI subisse une charge de trafic élevée.
Vous devez intercepter ces erreurs et afficher un rappel à l'utilisateur pour qu'il ferme toutes les autres applications utilisant le réseau.
Testez en exécutant quelques vidéos youtube HD sur votre bureau pour les reproduire, ou allez simplement dans un Starbucks occupé.
la source
Le redémarrage de l'émulateur fonctionne dans certains scénarios.
la source
J'ai eu le même problème avec l'émulateur Android 10 et j'ai pu résoudre le problème en suivant les étapes ci-dessous:
Avec cette configuration, votre URL devrait fonctionner comme prévu.
la source