以下是一个简单的例子,演示如何在 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 向主线程发送消息

android java下实现sendmessage到子线程的功能的例程。

原文地址: https://www.cveoy.top/t/topic/eCzK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录