Android Eclipse工程開發中的常見調試問題(二)android.os.NetworkOnMainThreadException 異常的解決辦法

android.os.NetworkOnMainThreadException 異常的解決辦法,

剛開是把HttpURLConnectionnection 打開連接這個方法放在UI線程裏了,可能不是線程安全的,而且這個方法請求是需要等待的,所以就拋出了這個異常,後來用子線程打開的HttpURLConnection, 一切就都正常了,只要在主線程裏開啓子線程就行了。子線程利用URL

問題解決。下面貼一段代碼

				String file1 = SERVER_PATH;
				URL url = new URL(file1);
				HttpURLConnection httpconn = (HttpURLConnection) url
						.openConnection();
				int responseCode = httpconn.getResponseCode();
				if (responseCode != HttpURLConnection.HTTP_OK) {
					Log.d(MP3, file1 + " 服務器故障");
					mainHandler.sendEmptyMessage(NET_SERVER_ERROR);
				}
鏈接正常,返回200後,就可以打開流接受字節了。
				InputStream is = httpconn.getInputStream();
				BufferedReader bfr = new BufferedReader(new InputStreamReader(is));
...後面的就略去了


發佈了34 篇原創文章 · 獲贊 31 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章