-2

I am calling this in the main thread, in the onCreate method.

        StringBuilder content = new StringBuilder();
        try
        {
            URL url = new URL("http://alvinalexander.com/blog/post/java/java-how-read-from-url-string-text");

            URLConnection urlConnection = url.openConnection();

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));

            String line;
            while ((line = bufferedReader.readLine()) != null)
            {
                content.append(line + "\n");
            }
            bufferedReader.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

        Log.d("rwj", content.toString());
Henrique de Sousa
  • 5,727
  • 49
  • 55
  • did you add internet permission in manifest? – Manohar Mar 14 '17 at 12:53
  • 1
    Possible duplicate of [How to fix android.os.NetworkOnMainThreadException?](http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception) – Henry Mar 14 '17 at 12:53
  • Post the error log, as above check the manifest. – Phil3992 Mar 14 '17 at 12:55
  • Rameez Jawaid, the very idea of doing such work in your onCreate method is wrong. I would use asynctask,( or something alike). – H.A.H. Mar 14 '17 at 13:01
  • the problem is, network operation cant be done in main ui thread as i have googled so far. Yes its working fine in asynctask manner. – Rameez Jawaid Mar 14 '17 at 13:26

1 Answers1

0

I tried pretty much the code in Asynctask and it worked, i guess network operation cant be done in main UI thread.

class RetrieveFeedTask extends AsyncTask<String, Void, String>
{

    private Exception exception;
    StringBuilder content = new StringBuilder();

    protected String doInBackground(String... urls) {
        try
        {
            // create a url object
            URL url = new URL("http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1");

            // create a urlconnection object
            URLConnection urlConnection = url.openConnection();

            // wrap the urlconnection in a bufferedreader
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));

            String line;

            // read from the urlconnection via the bufferedreader
            while ((line = bufferedReader.readLine()) != null)
            {
                content.append(line + "\n");
            }
            bufferedReader.close();
        }
        catch(Exception e)
        {
            Log.d("myerr", e.toString());
        }

        return content.toString();
    }

    protected void onPostExecute(String result) {
        Log.d("myresut", result.toString());
    }
}
Ravindra Kushwaha
  • 7,846
  • 14
  • 53
  • 103