WorkThread sendMessage to MainThread
private void SimpleThread() {
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
Log.i("zht","msg.what" +msg.what);
}
};
Runnable mRunnable = new Runnable() {
@Override
public void run() {
Message msg = new Message();
msg.what =102;
handler.sendMessage(msg);
}
};
Thread thread = new Thread(mRunnable);
thread.start();
}
MainThread sendMessage to workThread
在ui线程之外的线程里处理 message (handleMessage)
必须调用
Looper.prepare();
Looper.loop();
Handler handler = null;
private void SimpleThread() {
Runnable mRunnable = new Runnable() {
@Override
public void run() {
Looper.prepare();
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Log.i("zht", "msg.what:" + msg.what);
}
};
Looper.loop();
}
};
Thread thread = new Thread(mRunnable);
thread.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Message msg = new Message();
msg.what = 101;
handler.sendMessage(msg);
}
本文介绍如何在Android应用中实现主线程与工作线程之间的消息传递。通过创建Handler对象并配合Message使用,可以在不同线程间发送和接收消息。文章详细展示了如何从工作线程发送消息到主线程并在主线程更新UI,同时也介绍了如何反向操作。
3136

被折叠的 条评论
为什么被折叠?



