Android不允许在其他线程中直接更新界面组件。需要
借助Handler对象间接实现。
安卓提供了两种方式的事件处理——回调与监听。
1.监听
想让一个控件响应单击事件,那么需要做两步。1.编写监听器,记为类A,实现单击事件监听器接口;2.对控件设置它的监听器,与类A关联起来。
android.os.
Bundle
保存从String类型到各种类型的映射。
void android.os.BaseBundle. putString(String key, String value)
放入String类型的键值对。
String android.os.BaseBundle. getString(String key)
返回Bundle中设置的与key对应的value。
保存从String类型到各种类型的映射。
void android.os.BaseBundle. putString(String key, String value)
放入String类型的键值对。
String android.os.BaseBundle. getString(String key)
返回Bundle中设置的与key对应的value。
android.os. Handler
处理消息的类。
android.os.
Handler(Looper looper)
构造函数。
void android.os.Handler. handleMessage(Message msg)
定义了收到消息后要做哪些事。该方法需要被重写。
boolean android.os.Handler. sendMessage(Message msg)
将一个消息推送到消息队列的尾部。.
void android.os.Handler. handleMessage(Message msg)
定义了收到消息后要做哪些事。该方法需要被重写。
boolean android.os.Handler. sendMessage(Message msg)
将一个消息推送到消息队列的尾部。.
boolean android.os.Handler#
postDelayed(Runnable r, long delayMillis)
以delayMillis为周期,周期性地调用r的run()方法。
以delayMillis为周期,周期性地调用r的run()方法。
android.os.
Message
用于发送给Handler处理的消息。
Bundle android.os.Message.
getData()
获取消息中的Bundle.
获取消息中的Bundle.
2.sample
在输入框内输入123,点击button,左上方的TextView会显示输入框内的内容。

3.常见问答

答:looper以死循环的形式从messageQueue里面拿取消息,交给handler处理。looper的构造函数中会自动创建并关联一个messageQueue。