Невозможно разрешить хост "<вставить URL здесь>" Нет адреса, связанного с именем хоста
Я пробовал следовать этому руководству:
Получение данных из Интернета
Я попытался реализовать его на Android 3.0, последней платформе для планшетов, однако я получаю эту ошибку: " Невозможно разрешить хост" www.anddev.org "Нет адреса, связанного с именем хоста.".
Вы можете проверить URL-адрес, который я использовал, чтобы доказать, что файл существует.
http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt
Я создал частный класс и расширил его с помощью asynctask. Вот код:
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);
}
}
Любая помощь там будет оценена.
Ответы
Ответ 1
Моя ставка заключается в том, что вы забыли предоставить вашему приложению разрешение на использование Интернета. Попробуйте добавить это в манифест андроида:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ответ 2
Пожалуйста, проверьте наличие действующего интернет-соединения.
Ответ 3
Можете ли вы принять разрешение
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
НО
Возможно, вы забыли ВКЛЮЧИТЬ ИНТЕРНЕТ в мобильном устройстве или любом устройстве.
Ответ 4
Вы можете достичь этого URL-адреса внутри встроенного браузера?
Если это не так, значит, ваша настройка сети неверна. Если вы находитесь в эмуляторе, вы можете посмотреть раздел в документах.
Если вы используете OS/X, эмулятор использует "первый" интерфейс, en0, даже если вы находитесь в беспроводной сети (en1), поскольку en0 без кабеля по-прежнему помечен как вверх. Вы можете выпустить ifconfig en0 down
и перезапустить эмулятор. Я думаю, что прочитал о подобном поведении в Windows.
Если вы используете Wi-Fi/3G, позвоните своему сетевому провайдеру для правильных настроек DNS.
Ответ 5
Если у вас есть USB-Интернет, например, мне кажется, что эмулятор не нравится, когда соединение включено и выключено, поэтому вам может потребоваться перезапустить эмулятор.
Ответ 6
Эта ошибка из-за вашего хоста не может быть переведена на IP-адреса через DNS.
Решить эту проблему:
1- Убедитесь, что вы подключаетесь к Интернету (проверьте качество сети).
2- Убедитесь, что вы получили надлежащее разрешение на доступ к сети.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ответ 7
Я получил ту же ошибку, и проблема заключалась в том, что я был на VPN, и я этого не понимал. После отключения VPN и повторного подключения Wi-Fi разрешил его.
Ответ 8
Если вы видите это с перерывами, и ваш мобильный интернет-соединение Wi-Fi кажется одобренным, скорее всего, ваш дешевый маршрутизатор ISP-трафика испытывает высокую нагрузку на трафик.
Вы должны уловить эти ошибки и отобразить напоминание пользователю о закрытии любых других приложений с помощью сети.
Протестируйте, запустив пару видеороликов HD youtube на рабочем столе, чтобы воспроизвести, или просто перейдите в загруженный Starbucks.
Если вы сочтете это полезным, оплатите кофе кому-то.
Ответ 9
Кроме того, убедитесь, что ваше устройство не находится в режиме полета и/или что использование данных включено.