title: Host Not Found Error AsyncTask
body: <p>I have the following code to download a file in the notification system. But it doesn't seem to working... I'm not sure why, everything looks good to me. The debugger is giving me an unknown host error?</p>
  
  <pre><code>06-02 00:21:15.308: WARN/System.err(4115): java.net.UnknownHostException: phobos.emuparadise.org
  06-02 00:21:15.308: WARN/System.err(4115):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
  06-02 00:21:15.308: WARN/System.err(4115):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
  06-02 00:21:15.308: WARN/System.err(4115):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.&lt;init&gt;(HttpConnection.java:69)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.&lt;init&gt;(HttpConnection.java:48)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
  06-02 00:21:15.308: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
  06-02 00:21:15.312: WARN/System.err(4115):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
  06-02 00:21:15.312: WARN/System.err(4115):     at co.ezeh.android.romget.ui.ListActivity$RomDownloadTask.doInBackground(ListActivity.java:139)
  06-02 00:21:15.312: WARN/System.err(4115):     at co.ezeh.android.romget.ui.ListActivity$RomDownloadTask.doInBackground(ListActivity.java:1)
  06-02 00:21:15.312: WARN/System.err(4115):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
  06-02 00:21:15.316: WARN/System.err(4115):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
  06-02 00:21:15.316: WARN/System.err(4115):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  06-02 00:21:15.316: WARN/System.err(4115):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
  06-02 00:21:15.316: WARN/System.err(4115):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
  06-02 00:21:15.320: WARN/System.err(4115):     at java.lang.Thread.run(Thread.java:1019)
  </code></pre>
  
  <p>And this is the class i am trying to use, i can't see any errors with it though...</p>
  
  <pre><code>private class RomDownloadTask extends AsyncTask&lt;RomDataSet, Integer, String&gt; {
  
      private PendingIntent pendingIntent;
      private Notification notification;
      private NotificationManager notificationManager;
  
      @Override
      protected String doInBackground(RomDataSet... params) {
          try {
              //set the download URL, a url that points to a file on the internet
              //this is the file to be downloaded
              URL url = new URL(params[0].url);
  
              //create the new connection
              HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
  
              //set up some things on the connection
              urlConnection.setRequestMethod("GET");
              urlConnection.setDoOutput(true);
  
              //and connect!
              urlConnection.connect();
  
              //set the path where we want to save the file
              //in this case, going to save it on the root directory of the
              //sd card.
              File SDCardRoot = Environment.getExternalStorageDirectory();
              //create a new file, specifying the path, and the filename
              //which we want to save the file as.
              File file = new File(SDCardRoot,"somefile5.zip");
  
              //this will be used to write the downloaded data into the file we created
              FileOutputStream fileOutput = new FileOutputStream(file);
  
              //this will be used in reading the data from the internet
              InputStream inputStream = urlConnection.getInputStream();
  
              Integer downloadedSize = 0;
  
              Integer totalSize = urlConnection.getContentLength();
  
              //create a buffer...
              byte[] buffer = new byte[1024];
              int bufferLength = 0; //used to store a temporary size of the buffer
  
              //now, read through the input buffer and write the contents to the file
              while ( (bufferLength = inputStream.read(buffer)) &gt; 0 ) {
                  //add the data in the buffer to the file in the file output stream (the file on the sd card
                  fileOutput.write(buffer, 0, bufferLength);
                  //add up the size so we know how much is downloaded
                  downloadedSize += bufferLength;
                  //this is where you would do something to report the prgress, like this maybe
  
                  publishProgress((downloadedSize / totalSize) * 100);
              }
              //close the output stream when done
              fileOutput.close();
  
          //catch some possible errors...
          } catch (MalformedURLException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
          return null;
      }
  
      @Override
      protected void onPreExecute() {
          Intent intent = new Intent(ListActivity.this, ListActivity.class);
          pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
  
          // configure the notification
          notification = new Notification(R.drawable.ic_stat_rom, "Downloading Rom via RomGet", System
                  .currentTimeMillis());
          notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
          notification.contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.layout_download);
          notification.contentIntent = pendingIntent;
          notification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon_rom);
          notification.contentView.setTextViewText(R.id.download_description, "Downloading");
          notification.contentView.setProgressBar(R.id.download_progress, 100, 0, false);
  
          getApplicationContext();
          notificationManager = (NotificationManager) getApplicationContext().getSystemService(
                  Context.NOTIFICATION_SERVICE);
  
          notificationManager.notify(43, notification);
      }
  
      @Override
      protected void onProgressUpdate(Integer... progress) {
          notification.contentView.setProgressBar(R.id.download_progress, 100, Math.round(progress[0]), false);
          //notification.contentView.setTextViewText(R.id.download_description, Integer.toString(downloadedSize));
          // inform the progress bar of updates in progress
          notificationManager.notify(43, notification);
      }
  
      @Override
      protected void onPostExecute(String result) {
             notification.contentView.setTextViewText(R.id.download_description, "Done");
             notificationManager.notify(43, notification);
      }
  
  }
  </code></pre>
  
  <p>Cheers</p>