황현정
황현정

Reputation: 3521

Unable to resolve host "<insert URL here>" No address associated with hostname

I tried following this tutorial: Getting Data from the Web

I tried implementing it on Android 3.0, the latest platform for tablets, however, I get this error:

Unable to resolve host "www.anddev.org" No address associated with hostname.

You can checkout the URL that I used just to prove that the file exists. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

I created a private class and extended it with asynctask. Here is the 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);
    }
}

Any help out there would be appreciated.

Upvotes: 104

Views: 153294

Answers (11)

Kylo Rey
Kylo Rey

Reputation: 1316

I had the same issue with the Android 10 emulator and I was able to solve the problem by following the steps below:

  1. Go to Settings → Network & internet → Advanced → Private DNS
  2. Select Private DNS provider hostname
  3. Enter: dns.google
  4. Click Save

With this setup, you URL should work as expected.

Upvotes: 1

Ramdhas
Ramdhas

Reputation: 1765

Restarting the emulator works in some scenario.

Upvotes: 0

Birkensox
Birkensox

Reputation: 3721

If you see this intermittently on wifi or LAN, but your mobile internet connection seems ok, it is most likely your ISP's cheap gateway router is experiencing high traffic load.

You should trap these errors and display a reminder to the user to close any other apps using the network.

Test by running a couple of HD youtube videos on your desktop to reproduce, or just go to a busy Starbucks.

Upvotes: 0

Dave Justen
Dave Justen

Reputation: 149

Also, make sure that your device isn't on airplane mode and/or that data usage is enabled.

Upvotes: 2

Mina Fawzy
Mina Fawzy

Reputation: 21452

This error because of you host cann't be translate to IP addresses via DNS.

Solve of this problem :

1- Make sure you connect to the internet (check quality of network).

2- Make sure you take proper permission to access network

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

Upvotes: 6

Pratik Butani
Pratik Butani

Reputation: 62391

May you have taken permission

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

BUT

You may have forgot to TURN ON Internet in Mobile or Whatever Device.

Upvotes: 67

adubey
adubey

Reputation: 502

I got the same error and for the issue was that I was on VPN and I didn't realize that. After disconnecting the VPN and reconnecting the wifi resolved it.

Upvotes: 5

Ian
Ian

Reputation: 111

if you have USB internet like me the emulator seems to dislike connection being turned on and off so you may need to restart the emulator

Upvotes: 11

leech
leech

Reputation: 8421

My bet is that you forgot to give your app the permission to use the internet. Try adding this to your android manifest:

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

Upvotes: 148

Heiko Rupp
Heiko Rupp

Reputation: 30934

Are you able to reach that url from within the built-in browser?

If not, it means that your network setup is not correct. If you are in the emulator, you may have a look at the networking section of the docs.

If you are on OS/X, the emulator is using "the first" interface, en0 even if you are on wireless (en1), as en0 without a cable is still marked as up. You can issue ifconfig en0 down and restart the emulator. I think I have read about similar behavior on Windows.

If you are on Wifi/3G, call your network provider for the correct DNS settings.

Upvotes: 12

Vladimir Ivanov
Vladimir Ivanov

Reputation: 43088

Please, check if you have valid internet connection.

Upvotes: 120

Related Questions