第二次遇到了。。。訪問網絡不能在主程序中運行
[原]Android 初遇Http錯誤 httpClient.execute
錯誤源頭:
HttpResponse response = httpClient.execute(httpget); |
錯誤信息:
|
android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java: 1117 ) at java.net.InetAddress.lookupHostByName(InetAddress.java: 385 ) at java.net.InetAddress.getAllByNameImpl(InetAddress.java: 236 ) at java.net.InetAddress.getAllByName(InetAddress.java: 214 ) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java: 137 ) at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java: 164 ) at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java: 119 ) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java: 360 ) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java: 555 ) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java: 487 ) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java: 465 ) |
解決辦法:
1. 4.0以上就不允許在UI線程裏面進行網絡,是涉及到url操作的時候,訪問網絡不能在主程序中運行
2. <uses-permission android:name="android.permission.INTERNET" />
參考:
首次測試android程序連接網絡錯誤:http://blog.csdn.net/dragon08/article/details/7666172