
消息传递 —— 自动更新文本

定义Activity程序,通过Timer类完成定时更新

消息通道:Looper
在使用Handler处理Message的时候,实际上都是需要依靠一个Looper通道完成的,当用户取得一个Handler对象的时候实际上都是通过Looper完成的,在一个Activity类之中,会自动的帮助用户启动好Looper对象,而如果是在一个用户自定义的类之中,则需要用户手工使用调用Looper类中的若干方法之后才可以正常的启动Looper对象
Android中Handler传递机制:首先,在一个应用程序启动的时候,DVM会创建一个Linux进程,并且创建一个UI线程,称之为主线程,并且为主线程初始化一个MessageQueue和一个Looper。而Handler创建时,是运行在创建的线程中的,当Handler创建在子线程中的时候,它就只能够来操作子线程中的MessageQueue,而调用Looper.prepare()方法可以在子线程中初始化一个Looper和消息队列,子线程初始化的时候没有MessageQueue和Looper对象。

一个线程中只能由一个MessageQueue和Looper,但是可以有多个Handler,其中,Handler发送Message的时候调用sendMessage发送一个Message到消息队列中,调用方法为:sendMessage->sendMessageDelayed->sendMessageAtTime,然后就将Message发送到了消息队列中,然后Looper对象不断的从消息队列中取出非空的Message,然后调用dispatchMessage分配消息,并且通过handleCallBack将Message交给发送Message的Handler的handleMessage方法来处理消息。
而Android建议使用Message来传递消息的时候,最好通过Message.obtain()方法来获取消息实例,因为当消息池中有可用的Message对象的时候,就会返回该可用的Message对象,而没有的话,则会通过参数来创建一个Message对象,而调用removeMessages的时候,将Message从消息队列中删除,并且放入消息池中。
将发布/订阅的JMS消息传递部署到Websphere集成总线中

