要从线程发送数据到Activity,可以使用Handler类。以下是一个示例代码:
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// 处理接收到的消息
String data = (String) msg.obj;
// TODO: 在这里更新UI或做其他操作
}
};
// 在线程中发送消息到Activity
String dataToSend = "Hello, Activity!";
Message message = handler.obtainMessage();
message.obj = dataToSend;
handler.sendMessage(message);
在这个示例中,我们使用handler.obtainMessage()方法来获取一个消息对象,并将要发送的数据存储在消息的obj属性中。然后,我们使用handler.sendMessage()方法将消息发送到Activity的Handler对象中。
当Activity的Handler对象接收到消息时,它会调用handleMessage()方法,并通过msg.obj属性获取到发送过来的数据。你可以在handleMessage()方法中进行UI更新或其他操作。
请注意,由于Handler是与UI线程关联的,因此它可以更新UI。确保在UI线程创建Handler对象。