android主线程给子线程发送数据
时间: 2023-10-18 19:11:11 浏览: 52
在Android中,主线程和子线程之间通常使用Handler进行通信。主线程可以通过Handler发送消息给子线程,子线程也可以通过Handler发送消息给主线程。
以下是主线程给子线程发送数据的示例代码:
1. 在子线程中创建一个Handler对象并重写handleMessage()方法:
```
private Handler mHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// 处理从主线程发送过来的数据
switch (msg.what) {
case MSG_FROM_MAIN_THREAD:
String data = (String) msg.obj;
// 处理数据
break;
default:
super.handleMessage(msg);
break;
}
}
};
```
2. 在主线程中创建一个Message对象,并设置要发送的数据:
```
Message msg = mHandler.obtainMessage(MSG_FROM_MAIN_THREAD, "Hello, world!");
```
3. 调用子线程的Handler对象的sendMessage()方法,将Message对象发送给子线程:
```
mChildThreadHandler.sendMessage(msg);
```
其中,mChildThreadHandler是子线程中的Handler对象,MSG_FROM_MAIN_THREAD是一个自定义的消息类型,可以根据需要设置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)