Android事件处理

含义:为用户动作提供响应就是事件处理。

Android提供了强大的事件处理机制:基于监听的事件处理、基于回调的事件处理。

一、基于监听的事件处理

监听的处理模型主要涉及三类对象

》Event Source(事件源):事件发生的场所,通常就是各个组件,按钮啥的

》Event(事件):事件封装了界面的组件上发生的特定事情(通常就是一次用户操作)

》Event Listener(事件监听器):负责监听事件源发生的事件,对各种事件作出相应的响应

Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件将整个事件处理委托给特定的事件监听器对象;

事件源发生指定的事件时,通就知所委托的事件监听器,由事件监听器来处理这个事件。

Android事件处理

任何界面组件都可以作为事件源;事件的产生由Android系统生成;实现事件监听器是整个事件处理的核心。

二、基于回调的事件处理

回调的处理模型:

事件源和事件监听器是统一的,当事件源发生特定事件之后,该事件还是由事件源本身负责处理,组件自己特定的方法将会负责处理该事件。

为了实现回调机制的事件处理,Android为所有的组件都提供了一些事件处理的回调方法,继承组件类,并重写该类的事件处理方法即可。

以View类为例:包含如下方法:

public boolean onKeyDown(int keyCode, KeyEvent event)
当用户在组件上按下按键时触发
public boolean onKeyUp(int keyCode, KeyEvent event)
当用户在组件上松开按键时触发
public boolean onKeyShortcut(int keyCode, KeyEvent event)
当一个键盘快捷键事件发生时触发该方法

基于回调的事件传播:

基于回调的事件处理方法都有一个Boolean类型的返回值

》如果返回true,表明已经完全处理该事件,该事件不会传播出去

》如果返回false,表明并未完全处理该事件,该事件会传播出去

上一篇:20145208 蔡野《网络对抗》Exp3 Advanced 恶意代码伪装技术实践


下一篇:jquery调用页面的方法