//接受子线程发来的消息
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();