我想了解回调的概念。我在互联网上搜索了有关回调的信息,有很多使用接口的示例,一个类正在使用该接口调用另一类的方法。但是我仍然不能理解回调的主要概念,使用回调的目的是什么?
这是一个不错的教程,很好地描述了回调和用例。
回调的概念是在另一个类中完成某些工作时通知类同步/异步。有人称其为好莱坞原则:“不要叫我们,我们叫你”。
这是一个例子:
class A implements ICallback {
MyObject o;
B b = new B(this, someParameter);
@Override
public void callback(MyObject o){
this.o = o;
}
}
class B {
ICallback ic;
B(ICallback ic, someParameter){
this.ic = ic;
}
new Thread(new Runnable(){
public void run(){
// some calculation
ic.callback(myObject)
}
}).start();
}
interface ICallback{
public void callback(MyObject o);
}
类A调用类B在线程中完成一些工作。如果线程完成了工作,它将通过回调通知Class A并提供结果。因此,无需轮询或其他任何操作。只要有结果,您就会得到结果。
在Android中,在活动和片段之间使用回调。因为片段应该是模块化的,所以您可以在Fragment中定义一个回调以调用Activity中的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句