说明:子线程和主线程的通信可以使用消息来实现,比如子线程中完成了一个事情要告诉主线程已经完成
步骤:
1.在Activity中new一个private的Handler,重写它的handle()方法
/**
* 定义一个消息,用于线程间通信
*/
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//获取msg中的属性,如:
msg.obj;
//这里写逻辑代码
}
};
2.在耗时的地方开启一个线程
new Thread(){
@Override
public void run() {
//这里写逻辑代码
Message msg = new Message();
msg.what = "常量";
handler.sendMessage(msg);
}
}.start();
总结:子线程发送消息,主线程接收消息