回调机制 Android
来源:互联网 发布:mac word 选择对象 编辑:程序博客网 时间:2024/06/14 11:43
一直不懂安卓里面的回调机制讲的是啥,今晚终于弄懂了。
首先我们来看下什么是回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方法直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
举一个很经典的例子,小明不知道1+1等于多少,那么他就打了个电话问小王,小王说他在忙,等待会想到了再打电话告诉小明,就这样电话挂了,小王忙完自己的事情后,突然想到了答案,打电话告诉小明答案。这就是异步回调。
同步回调的经典例子就是按钮被按下的时间。
实现方式就是定义了一个接口,里面有相应的方法,A类实现了这个接口,具有接口的声明和实现了C方法(参数是对应接口),在A类中调用了B类的某个方法,B类处理完之后回调A类的C方法,这就是整个回调过程。
与监听机制对比:
对于基于监听的事件处理模型来说,事件源和事件监听器是分离的,当事件源发生特定事件之后,该事件交给事件监听器负责处理
对于基于回调的事件处理模型来说,事件源和事件时统一的 ,当事件源发生特定事件之后,该事件还是事件源本身来负责处理
基于回调事件的传播:
几乎所有基于回调事件处理方法都有一个boolean类的返回值,该返回值是用来表示处理方法是否能完全处理该事件。
如果返回的是true,表示该方法以完全处理,不会在传播
如果返回的是false,表示该放的没有完全处理,需要继续传播
其中的传播顺序为:绑定在该按键的事件监听器-》提供事件的回调方法-》该组件所在的Activity
与监听机制的优缺点比较:
1.基于监听的事件模型分工更明确,事件源、事件监听由两个类分开实现,因此具有更好的课维护性
2.Android的事件处理机制保障基于监听的事件会被优先触发
3.基于回调的事件模型在某些特定的情况,可以更好的提高程序的内聚性
还有一篇文章讲得很好的,推荐:http://blog.csdn.net/xiaanming/article/details/8703708
- android回调机制
- Android回调机制
- Android回调机制
- android 回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android 回调机制
- Android回调机制
- android 回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- Android回调机制
- 多校第一场1010
- Docker
- 码农《一》
- archive log 日志已满
- OS X 和 iOS 中的多线程技术
- 回调机制 Android
- NYOJ 484 The Famous Clock
- 股票学习(技术指标02)
- 2015.07.23总结
- 什么是光栅操作
- 目标检测程序开发(一)——OpenCV2.4.11环境配置
- OC学习笔记01-类的声明实现与对象创建,方法声明实现与调用及传参
- c++引用的说明与理解
- 在C++中实现foreach循环,比for_each更简洁!