//接受子线程发来的消息 Handler hanler = new Handler() { @Override public void handleMessage(Message msg) { // //执行接收到的通知,更新UI 此时执行的顺序是按照队列进行,即先进先出 super.handleMessage(msg); Bundle B=msg.getData(); }
//创建一个子线程
Thread thread = new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub String str = "1"; HttpGet get = new HttpGet( "http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924;114.21892734521,29.575429778924&ak=E4805d16520de693a3fe707cdc962045&output=json"); try { DefaultHttpClient client = new DefaultHttpClient(); HttpResponse respon = client.execute(get); if (respon.getStatusLine().getStatusCode() == 200) { str = EntityUtils.toString(respon.getEntity()); } } catch (ClientProtocolException e) { Toast.makeText(getApplicationContext(), "错误1", Toast.LENGTH_SHORT).show(); } catch (IOException e) { Toast.makeText(getApplicationContext(), "错误2", Toast.LENGTH_SHORT).show(); } Message message = new Message(); message.what = 1; Bundle b = new Bundle(); b.putString("h", str); message.setData(b); //通知 Hanler hanler.sendMessage(message); } }); thread.start();