您的位置:首页 > 移动开发 > Android开发

Android中线程间的通信

2015-11-24 11:40 337 查看
Handler类

(一)概述

在Android中Handler类可用于在线程间收发消息。

例如:handler在工作线程中发送消息,该消息发送至消息队列中,等待处理。在主线程中Handler从消息队列中接

收消息,并根据消息中的信息决定如何更新UI。

每个Handler实例都会绑定到创建它的线程中。

Handler可以发送消息或Runnable值某个线程的消息队列中。

(二)构造方法

1.public Handler Handler();

无参构造方法

2.Handler(Looper looper)

作用:带参构造方法,用于创建Handler对象。将自定义的用于管理消息队列的looper对象放在Handler.mLooper成

员变量中。

参数looper:自定义的管理消息队列的对象。

3.Handler(Callback callback)

作用:带参构造方法,创建Handler对象

参数:callback:自定义的用于处理消息的对象,该对象必须实现Handler.Callback接口。

说明:

1)Callback接口中声明了handleMessage()方法,程序员在该方法中编写处理消息的代码。

2)callback保存在Handler.mCallback成员变量中。在handler处理消息时将调用mCallBack中封装的代码。

4.Handler(Looper looper,CallBack callback)

作用:带参构造方法,创建Handler对象

参数:参见2和3中关于looper和callback的说明

(三)常用方法

1.sendEmptyMessage(int what)

作用:从work thread(工作线程)向主线程发送空消息

参数:当多个线程向主线程发送消息,what用于区别不同的线程

2.sendMessage(Message msg)

作用:从workThread向主线程发送消息

参数msg:存放消息的数据对象

3.handleMessage(Message msg)

作用:接收并处理从work thread发送的消息

参数msg:sendMessage发送过来的消息对象

4.public final Boolean android.os.Handler.post(Runnable r)

作用:将一个实现了Runnable的任务对象发送中目标线程的消息队列中。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: