android 异步回调机制
jopen
10年前
android事件处理:
基于监听,基于回调。
基于监听,是为android界面组件绑定特定的事件监听器。主要处理一些特定的事件。
基于回调,时重写android组件特定的回调方法,或者重写activity的回调方法。android为绝大部分界面组件都提供了事件响应的回调方法。可以用于处理一些具有通用性的事件。
对于基于监听的事件处理模型来说,事件源和事件监听器是分离的,当事件源上发生特定事件之后,该事件交给事件监听器负责处理,对于基于回调的事件处理模型来说,事件源和事件监听器时统一的,当时间源发生特定事件之后,该事件还是有事件源本身负责处理。
例如:boolean onKeyMultiple(int keyCode,int repeateCount,KeyEvent event)用于响应按键重复点击。官方API支出,它总是返回false,没有handle,必须重写才能实现。
委托机制需要事件源,事件和监听。而回调机制难以理解,网上通俗的说法是:A类持有B类引用,A调用B的方法C,然后B类中反过来调用A类中的方法D,D就叫回调方法。其实D正是回调接口中的方法。
根据这种思路的理解,我写了个简单的示例,方便自己了解。
A有一个策划方案,需要B去完成。B还有其他工作要做,只有做完了才能去做这个策划方案。B完成策划方案后,调用A的方法,把方案交给A。
A类:需要实现回调接口,并调用B的一个方法