android.os.NetworkOnMainThreadException异常

	new Thread(new Runnable() {

				@Override
				public void run() {
					// TODO Auto-generated method stub
					httptest();
				}
			}).run();
private Handler handler = new Handler() {
			@Override
			public void handleMessage(Message msg) {
				super.handleMessage(msg);
				tvHello.setText((CharSequence) msg.obj);
			}
<pre class="java" name="code">private void httptest() {

	String url = "http://www.baidu.com";
			URL obj;
			try {
				obj = new URL(url);

				HttpURLConnection con;
				try {
					con = (HttpURLConnection) obj.openConnection();

					// optional default is GET
					con.setRequestMethod("GET");

					// add request header
					// con.setRequestProperty("User-Agent", USER_AGENT);
					con.connect();

					int responseCode = con.getResponseCode();
					System.out.println("\nSending 'GET' request to URL : "
							+ url);
					System.out.println("Response Code : " + responseCode);

					BufferedReader in = new BufferedReader(
							new InputStreamReader(con.getInputStream()));
					String inputLine;
					StringBuffer response = new StringBuffer();

					while ((inputLine = in.readLine()) != null) {
						response.append(inputLine);
					}
					in.close();

					// print result
					System.out.println(response.toString());
					Message msg = handler.obtainMessage();
					msg.obj = response.toString();
					handler.sendMessage(msg);

				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			} catch (MalformedURLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}

		}

 


已经将http请求封装在worker thread,但是不小心将thread的启动写成了run。

改成start 即OK。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值