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));
...后面的就略去了