Android之---回调机制(CallBack)
来源:互联网 发布:excel数据透视表行标签 编辑:程序博客网 时间:2024/06/06 03:15
回调机制(CallBack)
简介
回调方法:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。
回调方法的实现过程就叫Android(Java)的回调机制。
原理
- 定义一个回调接口(CallBack)和一个回调函数 (call)
- 让类A实现这个回调接口和回调函数,在类A的构造中拿到类B的应用
- 在类B中声明一个带CallBack参数的方法(setCallBack(CallBack CallBack ……))
- 在类A中用类B的应用调用类B的方法setCallBack(),然后在setCallBack方法中用类A的对象(即CallBack回调接口的实现类)调用类A中的方法call(即回调函数)
异步实现案例
interface CallBack:
/** * 这是一个回调接口 * @author xiaokele * */ public interface CallBack { /** * 回调函数 * @param result */ public void call(String result); }
class A:
/** * @author xiaokele * 实现了一个回调接口CallBack */ public class A implements CallBack { /** * 类B的引用 */ private B b; /** * A的构造方法,持有B的引用 * @param B */ public A(B b){ this.b= b; } /** * A通过这个方法去问B的问题 * @param question */ public void askQuestion(final String question){ //这里用一个线程就是异步, new Thread(new Runnable() { @Override public void run() { /** * A调用B中的方法,在这里注册回调接口 * 这就相当于A类调用B的方法C */ b.setCallBack(A.this, question); } }).start(); //A问完问题就去干其他的事情了,诳街去了 play(); } public void play(){ System.out.println("我要逛街去了"); } /** * B知道答案后调用此方法告诉A,就是所谓的A的回调方法 */ @Override public void call(String result) { System.out.println("B告诉A的答案是--->" + result); } }
class B:
/** * 类B * @author xiaokele * */ public class B{ /** * @param callBack * @param question A问的问题 */ public void setCallBack(CallBack callBack, String question){ System.out.println("A问的问题--->" + question); //模拟B办自己的事情需要很长时间 for(int i=0; i<10000;i++){ } /** * B办完自己的事情之后想到了答案是2 */ String result = "答案是2"; /** * 于是就打电话告诉A,调用A中的方法 * 这就相当于B类反过来调用A的方法D */ callBack.call(result); } }
同步实现案例
同步实现类似上面的异步实现(去掉异步案例中类A中askQuestion方法中开线程和类B中setCallBack方法中办自己事情去了)
0 0
- Android之---回调机制(CallBack)
- Android 回调机制学习之 Callback
- Android中callback(接口回调)机制
- 浅谈Android中的回调机制CallBack
- 回调机制(Callback)
- callback机制回调机制
- Java回调机制(CallBack)
- Java回调机制(callback)
- Java回调机制(CallBack)详解
- Android之路:回调的入门理解(CallBack)
- java 回调机制 callback
- Java 回调机制(Callback)
- JAVA回调机制(CallBack)
- Android之android.graphics.drawable.Drawable.Callback回调接口
- Callback回调机制知识大全
- Java回调机制(CallBack)详解
- JAVA回调机制(CallBack)详解
- JAVA回调机制(CallBack)详解
- 实时数据
- Android源码初探之ListView 的 smoothScrollByOffset()
- 多重背包
- Spring Boot的应用启动与关闭
- Jenkins(四)参数化构建项目
- Android之---回调机制(CallBack)
- Tomcat配置HTTPS .keystore 文件发生java.io.IOException: Cannot recover key
- 设计幸运大转盘h5小游戏总结
- 无线路由器的原理解析
- Play 1.x框架学习之四:定时作业调度 (job scheduler In play framework)
- Android事件分发机制的神秘面纱
- Spark Master的注册机制
- Java SE学习笔记:File类综合实例,包装流,字符流与字节流的区别
- DMVPN+IPsec VPN 排错分析,--经过Burce 实验验证非常有用!--IPSEC vpn 排错,分享.!