HttpURLConnection 抛出异常


本文地址: http://blog.csdn.net/caroline_wendy


Http的URL链接, 会发生错误, 主要原因是 在主UI线程中, 使用网络调用(network call), 就抛出NetworkOnMainThreadException异常.

版本: API level 11以上.

可以使用一个简单的线程, 在后台(asynctask)调用程序, 可以避免此情况;

否则 在getResponseCode()函数处, 抛出异常.

Android API : http://developer.android.com/reference/android/os/AsyncTask.html.


代码:

            String quakeFeed = getString(R.string.quake_feed);             url = new URL(quakeFeed);              URLConnection connection;             connection = url.openConnection();              HttpURLConnection httpConnection = (HttpURLConnection)connection;             int responseCode = httpConnection.getResponseCode();

修改:

        Thread t = new Thread(new Runnable() {             @Override             public void run() {                 refreshEarthquakes();             }         });          t.start();

即, 把需要网络调用(network call)的程序, 放入线程(thread)中执行.