回调函数的理解,以及java例子程序
来源:互联网 发布:miss淘宝店外设 编辑:程序博客网 时间:2024/06/05 12:50
简单的说,类A中调用类B中的某个方法b,类B在执行这个方法时反过来调用类A中的方法a,对于A来说,这个a方法就叫做回调方法。
最近在进行Android开发的时候,遇到一个问题,网络数据需要在线程中获取,数据获取之后通过Handler更新界面,即线程接受完数据之后,Handler发送message然后对信息进行处理。类A为activity类处理界面事件,B类为Thread类负责从网络上获取数据,处理耗时的操作。类A调用B类中run()方法获取网络数据,由于传输网络数据需要一定的时间,不能马上到达,这样主线程先进行其他操作,等到数据传输完毕后,B类调用A类中Handler方法向类A发送数据,类A接收到数据后进行下一步操作。
下面用一个通俗的例子配合Java程序来解释:
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。
我向你打电话请教问题,执行You中Handler()方法
public class Me implements Callback{You you=new You();public void handler(){ you.doSomething(this);}public void callbackMethod() {System.out.println("问题处理完毕");}}
由于你解决问题需要一段时间,约定好想出办法后通知我
public class You {public void doSomething(Callback cb){System.out.println("处理问题"); cb.callbackMethod(); }}
此接口callback便是你我之间约定好的联系方式
public interface Callback {public void callbackMethod();}
public class Main {public static void main(String[] args) {new Me().handler();}}
0 0
- 回调函数的理解,以及java例子程序
- 关于回调函数应用的理解以及小例子
- 最容易理解的java回调函数例子
- 最容易理解的java回调函数例子
- 回调函数理解的小例子
- Java编程程序回调函数的理解
- Java编程程序回调函数的理解
- java回调函数的例子
- Java的回调函数的理解
- Java回调函数例子
- java的回调函数理解
- Java回调函数的理解
- Java回调函数的理解
- Java回调函数的理解
- Java回调函数的理解
- Java回调函数的理解
- java回调函数的理解
- Java回调函数的理解
- Mysql onduplicate key
- 线程中start和run的区别
- Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)
- 【连载】实用小demo连载 3 —— js 时间转换 demo
- RHEL 7 中 systemctl 的用法(替代service 和 chkconfig)
- 回调函数的理解,以及java例子程序
- Android开发问题集合
- HDOJ 1166 敌兵布阵 树状数组和线段树
- [LeetCode] Unique Binary Search Trees II
- Linux进程间通讯基础
- jQuery为元素添加样式
- python中__new__ 的作用
- 对话机器学习大神
- 动态规划(dp) 之 状态转移方程