Android中的多线程
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
textView.setText(msg.obj.toString());//在些更新UI
}
};
handler.post(new Runnable() {//这种方式并不是真正的线程,还是在UI线程中
@Override
public void run() { //错误,安卓自从4.0开始不允许在主线程中直接访问网络
String ret = httpClient.Get("http://www.baidu.com");
textView.setText(ret);
}
});
new Thread() {//这才是真正开启一个线程,此线程中不能做UI操作
public void run() {//可以把下载代码放到一个线程里,然后利用Handler来通知主线程处理
String ret = httpClient.Get("http://www.baidu.com");
handler.obtainMessage(0, ret).sendToTarget();
}
}.start();