欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android 消息传递机制 handler

程序员文章站 2022-03-08 14:08:39
...

Handler:

1. handler 作用:用于子线程更新主线程 UI,发送消息和处理消息。
2. handler 四要素:
(1)消息 message
(2)消息队列 messageQueue,用来存放Handler发送过来的消息,内部通过单链表的数据结构来维护消息列表,等 待Looper的抽取。
(3)looper 从消息队列中取消息, 主线程默认创建的。通过Looper.loop()不断地从MessageQueue中抽取Message,按分发机制将消息分发给目标处理者。
(4)Handler(处理者):负责Message的发送及处理。通过 Handler.sendMessage() 向消息池发送各种消息事件;通过 Handler.handleMessage() 处理相应的消息事件。
3. handler使用步骤:
4. 在主线程中定义一个handler,重写里面的handleMessage方法

private Handler mhandler=new Handler()
{
public void handlerMessage(android.os.message  msg)
{
  String content=(String)msg.obj;
  setText(content);//更新UI信息
}
};

5. 用主线程中创建的handler 对象,在子线程中发送更新UI的消息

Message msg=new Message();
string content="hello"
msg.what=1;//消息id int 类型数据  
备注:大小写转换快捷键 ctrl+shift+X Y
msg.obj=string;;
handler.sendMessage(msg)
相关标签: android