Android之---回调机制(CallBack)
2017-01-13 18:02
423 查看
回调机制(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方法中办自己事情去了)相关文章推荐
- Android中callback(接口回调)机制
- 浅谈Android中的回调机制CallBack
- Android 回调机制学习之 Callback
- Android中callback(接口回调)机制
- Android---回调机制小例子
- openstack nova 基础知识——rpc回调机制(callback)
- [待修改]java接口用法:向上转型和回调函数 回调机制在 Android 监听用户界面操作中的体现
- Hibernate操作数据库的回调机制--Callback
- 回调机制在 Android 监听用户界面操作中的体现
- android 回调机制
- Android---回调机制小例子
- 回调机制在 Android 监听用户界面操作中的体现
- Android回调机制
- android事件监听回调机制
- 浅谈Android中Callback(回调)的使用
- Android开发中Java回调机制的应用
- Android事件处理模型一(基于回调机制的事件处理)
- 详解Java回调机制 (Callback) --讲解+实例
- java 回调机制 callback
- Android回调机制