一、Handler的定义:可以发送消息到 Massegequeue 消息出队的时候接收处理消息。
主要接受子线程发送的数据, 并用此数据配合主线程更新UI。
在UI 线程写Handler实例 发送消息。开辟一条线程 更改UI。
子类需要继承Hendler类,并重写handleMessage(Message msg) 方法, 用于接受线程数据。
以下为一个实例,通过线程修改界面Button的内容
二:
Handler: 每一个Handler的实例都会关联一个单一的线程和那个线程的消息队列中。
Massage: (4) what 用户自定义的消息码让接受者识别消息种类,int类型。
获得Message的构造方法最好的方式是调用Message.obtain() 和 Handler.obtainMessage()方法。
如果是携带的是轻量级的int类型的数据或者对象的话,我们就用Message构造方法中自带的属性来传递。如果是需要携带上述两种类型之外的数据类型或者一些比较复杂的数据类型建议使用Bundle的方式来封装好后来传递。
android 中发送消息不管是Message中的几种重载的obtain()方式,还是Handler中的几种重载的sendMessage最终都是通过Handler.sendMessage来发送的,而Handler中的几种sendMessage()重载方法最终都会调用到sendMessageAtTime()方法来完成消息的入队操作。