android java下实现sendmessage到子线程的功能的例程。
以下是一个简单的例子,演示如何在 Android Java 中使用 Handler 和 Looper 在子线程中发送消息:
public class MyThread extends Thread {
private Handler mHandler;
public MyThread() {
// 在子线程中创建 Looper
Looper.prepare();
// 创建 Handler,用于接收消息
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 处理消息
// TODO: 这里可以执行任何需要在子线程中执行的操作
}
};
// 启动 Looper,开始消息循环
Looper.loop();
}
public Handler getHandler() {
return mHandler;
}
}
在主线程中,我们可以通过以下方式向子线程发送消息:
MyThread myThread = new MyThread();
Handler handler = myThread.getHandler();
// 创建消息
Message message = Message.obtain();
message.what = 1;
message.obj = "Hello, world!";
// 发送消息到子线程
handler.sendMessage(message);
当消息到达子线程时,会调用 MyThread 中的 mHandler 处理该消息。我们可以在 handleMessage 方法中编写任何需要在子线程中执行的代码。注意,由于消息是在子线程中处理的,因此不能访问 UI 线程中的控件。如果需要更新 UI,可以使用 runOnUiThread 方法或者使用 Handler 向主线程发送消息
原文地址: https://www.cveoy.top/t/topic/eCzK 著作权归作者所有。请勿转载和采集!