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