android线程通信方式,Android 主线程和子线程通信问题

Android 如今不支持View在子线程中创建及调用其方法。假设要实现子线程内容更新之后。将结果及时反馈到主线程中,该怎样出来呢?

能够在主线程中创建Handler来实现。 这样子线程的结果。能够通过发消息的形式。通知主线程。然后主线程中去及时更新View控件。

Handler的使用方式:

mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch (msg.what) {

case xxxxxx:

updateLotteryInfo();

break;

default:

break;

}

}

};

发消息的时候,能够: mHandler.sendEmptyMessage(xxxxx);

假设加入内容。能够:mHandler.obtainMessage(MessageName,  MessageContent).sendToTarget();

在方法handleMessage 中能够msg.obj.toString() 获取Message的内容。

发送消息还有其它的方式。能够自行查阅

标签:mHandler,主线,程中,Handler,线程,msg,程和子,Android

来源: https://www.cnblogs.com/ldxsuanfa/p/10804277.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,线程和子线程之间可以通过以下方式进行通信: 1. Handler:Handler 是 Android 中一种常用的线程通信机制。线程可以创建 Handler 对象,并将其传递给子线程,子线程就可以通过 Handler 发送消息到线程线程收到消息后,可以通过 Handler 处理消息。 2. AsyncTask:AsyncTask 是 Android 中一个方便的异步任务框架,它可以在子线程中执行耗时操作,然后将执行结果传递给线程。AsyncTask 可以通过重写其 onPostExecute() 方法,在线程中处理执行结果。 3. runOnUiThread() 方法:runOnUiThread() 方法是 Activity 类提供的一个方法,它可以让子线程中的代码在线程中执行。子线程可以通过 runOnUiThread() 方法将更新 UI 的任务发送到线程。 4. View.post() 方法:View.post() 方法是 View 类提供的一个方法,它可以让子线程中的代码在线程中执行。子线程可以通过 View.post() 方法将更新 UI 的任务发送到线程。 5. Broadcast Receiver:Broadcast Receiver 是 Android 中一种广播机制,它可以让应用程序中的不同组件之间进行通信。子线程可以通过发送广播的方式将数据传递给线程。 6. Messenger:Messenger 是 Android 中一种轻量级的 IPC 机制,它可以让不同进程之间进行通信线程可以创建 Messenger 对象,并将其传递给子线程,子线程就可以通过 Messenger 发送消息到线程线程收到消息后,可以通过 Messenger 处理消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值