Я пробовал следовать этому руководству: Получение данных из Интернета
Я попытался реализовать его на 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);
}
}
Любая помощь будет оценена по достоинству.
Ответы:
Держу пари, что вы забыли дать своему приложению разрешение на использование Интернета. Попробуйте добавить это в свой манифест Android:
источник
Пожалуйста, проверьте, есть ли у вас действующее интернет-соединение.
источник
Вы могли принять разрешение
НО
Возможно, вы забыли ВКЛЮЧИТЬ Интернет на мобильном или другом устройстве.
источник
Можете ли вы получить доступ к этому URL-адресу из встроенного браузера?
Если нет, это означает, что ваша сетевая настройка неверна. Если вы работаете в эмуляторе, вы можете ознакомиться с разделом сетевых документов в документации.
Если вы работаете в OS / X, эмулятор использует «первый» интерфейс, en0, даже если вы подключены к беспроводной сети (en1), поскольку en0 без кабеля по-прежнему помечается как up. Вы можете
ifconfig en0 down
запустить и перезапустить эмулятор. Думаю, я читал о подобном поведении в Windows.Если вы используете Wi-Fi / 3G, позвоните своему оператору сети, чтобы узнать правильные настройки DNS.
источник
если у вас есть USB-интернет, как у меня, эмулятору не нравится включение и выключение соединения, поэтому вам может потребоваться перезапустить эмулятор
источник
Эта ошибка из-за вашего хоста не может быть преобразована в IP-адреса через DNS.
1- Убедитесь, что вы подключены к Интернету (проверьте качество сети).
2- Убедитесь, что вы получили надлежащее разрешение на доступ к сети
источник
Я получил ту же ошибку, и проблема заключалась в том, что я был на VPN и не осознавал этого. После отключения VPN и повторного подключения Wi-Fi решила.
источник
Кроме того, убедитесь, что ваше устройство не находится в режиме полета и / или что использование данных включено.
источник
Если вы периодически видите это по Wi-Fi или LAN, но ваше мобильное интернет-соединение кажется нормальным, скорее всего, дешевый маршрутизатор шлюза вашего интернет-провайдера испытывает высокую нагрузку трафика.
Вы должны перехватить эти ошибки и показать пользователю напоминание о необходимости закрыть все другие приложения, использующие сеть.
Протестируйте, запустив пару видеороликов YouTube в формате HD на рабочем столе для воспроизведения или просто зайдите в оживленный Starbucks.
источник
В некоторых случаях перезапуск эмулятора работает.
источник
У меня была такая же проблема с эмулятором Android 10, и я смог решить ее, выполнив следующие действия:
При такой настройке ваш URL-адрес должен работать должным образом.
источник