一个handler对应一个MessageQueue(消息队列),message是消息队列中数据的载体
Message(消息):是用来携带数据的
MessageQueue(消息队列):是用来存储消息的
handler:是用来发送和接收消息的
Looper:让消息队列一直进行循环的(管理整个这一摊事),汉语是“环”的意思 是一个死循环:Looper会一直将handler中的message存在消息队列,并不断从消息队列中取出,直到消息队列没有为止
Message(消息):是用来携带数据的
MessageQueue(消息队列):是用来存储消息的
handler:是用来发送和接收消息的
Looper:让消息队列一直进行循环的(管理整个这一摊事),汉语是“环”的意思 是一个死循环:Looper会一直将handler中的message存在消息队列,并不断从消息队列中取出,直到消息队列没有为止
消息队列中每一个消息都是由队尾插入,由队头取出
整体思路:在一个事件中开启一个线程,在一个线程中定义一个message,在这个message中携带数据,通过handler发送过去,在handler中的handleMessage中收到这个数据,并执行相应的操作。一个handler对应一个MessageQueue。Looper管理整个循环。具体而言,在xml'文件中放置一个Button控件,在activity的这个button的点击事件中使用多种不同的方法定义一个message,并赋值数据,使用handler来发送,在定义的handler对象中重写handleMessage方法,在这个方法中收到发送message的数据并展示。
activity_main.xml文件: