Ich habe versucht, diesem Tutorial zu folgen: Daten aus dem Web abrufen
Ich habe versucht, es auf Android 3.0, der neuesten Plattform für Tablets, zu implementieren. Es wird jedoch die folgende Fehlermeldung angezeigt : " Host kann nicht aufgelöst werden" www.anddev.org "Keine Adresse mit Hostname verknüpft. "
Sie können die URL auschecken, die ich verwendet habe, um zu beweisen, dass die Datei vorhanden ist. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt
Ich habe eine private Klasse erstellt und mit asynctask erweitert. Hier ist der 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);
}
}
Jede Hilfe da draußen wäre dankbar.
Antworten:
Ich wette, Sie haben vergessen, Ihrer App die Erlaubnis zur Nutzung des Internets zu erteilen. Versuchen Sie, dies Ihrem Android-Manifest hinzuzufügen:
quelle
Bitte überprüfen Sie, ob Sie eine gültige Internetverbindung haben.
quelle
Mögen Sie die Erlaubnis genommen haben
ABER
Möglicherweise haben Sie vergessen, das Internet in einem mobilen Gerät oder einem anderen Gerät einzuschalten.
quelle
Können Sie diese URL über den integrierten Browser erreichen?
Wenn nicht, bedeutet dies, dass Ihre Netzwerkeinrichtung nicht korrekt ist. Wenn Sie sich im Emulator befinden, sehen Sie sich möglicherweise den Netzwerkabschnitt der Dokumente an.
Wenn Sie unter OS / X arbeiten, verwendet der Emulator "die erste" Schnittstelle, en0, auch wenn Sie drahtlos sind (en1), da en0 ohne Kabel immer noch als aktiv markiert ist. Sie können
ifconfig en0 down
den Emulator ausgeben und neu starten. Ich glaube, ich habe über ein ähnliches Verhalten unter Windows gelesen.Wenn Sie Wifi / 3G verwenden, wenden Sie sich an Ihren Netzwerkanbieter, um die richtigen DNS-Einstellungen zu erhalten.
quelle
Wenn Sie wie ich über USB-Internet verfügen, scheint es dem Emulator nicht zu gefallen, dass die Verbindung ein- und ausgeschaltet wird, sodass Sie den Emulator möglicherweise neu starten müssen
quelle
Dieser Fehler aufgrund Ihres Hosts kann nicht über DNS in IP-Adressen übersetzt werden.
1- Stellen Sie sicher, dass Sie eine Verbindung zum Internet herstellen (überprüfen Sie die Qualität des Netzwerks).
2- Stellen Sie sicher, dass Sie die richtige Berechtigung zum Zugriff auf das Netzwerk haben
quelle
Ich habe den gleichen Fehler erhalten und das Problem war, dass ich auf VPN war und das nicht realisiert habe. Nach dem Trennen des VPN und erneuten Verbinden des WLAN wurde das Problem behoben.
quelle
Stellen Sie außerdem sicher, dass sich Ihr Gerät nicht im Flugzeugmodus befindet und / oder die Datennutzung aktiviert ist.
quelle
Wenn Sie dies zeitweise über WLAN oder LAN sehen, Ihre mobile Internetverbindung jedoch in Ordnung zu sein scheint, ist der billige Gateway-Router Ihres Internetdienstanbieters höchstwahrscheinlich einer hohen Verkehrslast ausgesetzt.
Sie sollten diese Fehler abfangen und dem Benutzer eine Erinnerung anzeigen, andere Apps über das Netzwerk zu schließen.
Testen Sie, indem Sie ein paar HD-YouTube-Videos auf Ihrem Desktop ausführen, um sie zu reproduzieren, oder gehen Sie einfach zu einem geschäftigen Starbucks.
quelle
Das Neustarten des Emulators funktioniert in einigen Szenarien.
quelle
Ich hatte das gleiche Problem mit dem Android 10-Emulator und konnte das Problem mithilfe der folgenden Schritte lösen:
Bei diesem Setup sollte Ihre URL wie erwartet funktionieren.
quelle