Incapaz de resolver o host “<inserir URL aqui>” Nenhum endereço associado ao nome do host


98

Tentei seguir este tutorial: Obtendo dados da web

Tentei implementá-lo no Android 3.0, a plataforma mais recente para tablets, mas recebo este erro: " Incapaz de resolver o host" www.anddev.org "Nenhum endereço associado ao nome do host. "

Você pode verificar a URL que usei apenas para provar que o arquivo existe. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

Criei uma aula particular e a estendi com asynctask. Aqui está o código:

    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);
}
}

Qualquer ajuda lá fora seria apreciada.


Você pode consultar este link . Espero que isso ajude
Summved Jain

Respostas:


148

Minha aposta é que você se esqueceu de dar ao seu aplicativo permissão para usar a internet. Tente adicionar isto ao seu manifesto do Android:

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

consulte sempre o logcat para obter o tipo de erro, então seu consumo de tempo será salvo ...... sempre que você se esquecer de adicionar permissão .. logcat mostre o erro ...... ou gere o relatório de falha ... ........
Vipin Sahu

14
bem, eu também tenho esse problema. Tenho as permissões configuradas corretamente. URLConnection está funcionando bem na maioria das vezes. Mas às vezes, recebo esse erro várias vezes seguidas. É especialmente difícil de depurar, pois só aparece de vez em quando ...
hendrix

Você também tem minha permissão para me sentir bem por ajudar a comunidade
Sebastien FERRAND

Eu adicionei essa permissão e também obtive o mesmo erro, há algum problema no emulador
Pratik Butani

7
Encontrei este erro porque já tinha desligado os dados móveis anteriormente e esqueci de ligá-los novamente. Funcionou bem no escritório, mas assim que desliguei o wi-fi familiarizado, comecei a receber o erro. Às vezes são as coisas estúpidas: |
Karmic Coder

117

Por favor, verifique se você tem uma conexão de internet válida.


hmm ...: Eu verifiquei, e parece que você está certo. Realmente não sei por que, mas minha conexão com a internet está ok, entretanto, o navegador dentro do emulador não consegue acessar nada. Isso é estranho .. O navegador do emulador estava funcionando bem alguns minutos atrás.
황현정

1
Eu me sinto o maior idiota. Estava desenvolvendo em casa, ao invés do escritório e esqueci de configurar o WiFi. Às vezes, são necessárias coisas como essas para fazer você se lembrar que às vezes é um idiota. Então, meu sincero agradecimento por me fazer sentir como uma idiota! :)
RileyE

2
O mesmo para mim! de alguma forma, o modo Wifi e avião podem ser selecionados, então eu só tive que desabilitar o modo avião (eu não estava realmente conectado à internet-palmface)
d1jhoni1b

1
Lol não sei porque eu esperava que meu S3 fizesse o login sem o wireless ligado.
Declan McKenna

Droga. Desliguei a conexão de internet do simulador ontem e esqueci de ligar esta manhã, obrigado!
Robert J. Clegg

65

Você pode ter tomado permissão

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

MAS

Você pode ter esquecido de LIGAR a Internet no celular ou em qualquer dispositivo.


2
Não ter o dispositivo em wi-fi é o que me pegou! Opa.
Nico

11
Reiniciar o emulador consertou isso para mim.
Kacy de

Obrigado por enfatizar a parte do DISPOSITIVO MÓVEL. :)
Burak Karakuş

12

Você consegue acessar esse url de dentro do navegador embutido?

Caso contrário, significa que a configuração da sua rede não está correta. Se você estiver no emulador, poderá dar uma olhada na seção de rede dos documentos.

Se você estiver no OS / X, o emulador está usando "a primeira" interface, en0, mesmo se você estiver em wireless (en1), pois en0 sem um cabo ainda está marcado como ativo. Você pode emitirifconfig en0 down e reiniciar o emulador. Acho que li sobre um comportamento semelhante no Windows.

Se você estiver em Wifi / 3G, ligue para seu provedor de rede para as configurações de DNS corretas.


hmm ...: Eu verifiquei, e parece que você está certo. Realmente não sei por que, mas minha conexão com a internet está ok, entretanto, o navegador dentro do emulador não consegue acessar nada. Isso é estranho ... O navegador do emulador estava funcionando bem alguns minutos atrás.
황현정

Obrigado! No meu caso, uma intranet foi definida como o URL que causou o erro. Usar uma extranet obviamente resolveu o problema
CGR

11

se você tem internet USB como eu, o emulador parece não gostar de conexão sendo ligada e desligada, então você pode precisar reiniciar o emulador


6

Este erro devido ao seu host não pode ser traduzido para endereços IP via DNS.

Resolva este problema:

1- Certifique-se de estar conectado à internet (verifique a qualidade da rede).

2- Certifique-se de ter a permissão adequada para acessar a rede

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

4

Recebi o mesmo erro e para o problema era que eu estava em VPN e não tinha percebido isso. Depois de desconectar a VPN e reconectar o wi-fi resolveu.


2

Além disso, certifique-se de que seu dispositivo não esteja no modo avião e / ou que o uso de dados esteja ativado.


0

Se você vê isso de forma intermitente em wi-fi ou LAN, mas sua conexão de internet móvel parece ok, é mais provável que o roteador de gateway barato do seu ISP esteja tendo uma carga de tráfego alta.

Você deve interceptar esses erros e exibir um lembrete para o usuário fechar todos os outros aplicativos que usam a rede.

Teste rodando alguns vídeos HD do youtube em seu desktop para reproduzir, ou simplesmente vá a um Starbucks lotado.


0

Reiniciar o emulador funciona em alguns cenários.


0

Eu tive o mesmo problema com o emulador do Android 10 e consegui resolver o problema seguindo as etapas abaixo:

  1. Vá para Configurações → Rede e internet → Avançado → DNS privado
  2. Selecione o nome de host do provedor DNS privado
  3. Digite: dns.google
  4. Clique em Salvar

Com esta configuração, seu URL deve funcionar conforme o esperado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.