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)中执行.