为了账号安全,请及时绑定邮箱和手机立即绑定

Android中的回调是什么?

Android中的回调是什么?

喵喵时光机 2019-12-09 14:42:27
我想了解回调的概念。我在互联网上搜索了有关回调的信息,有许多使用接口的示例,一个类正在使用该接口调用另一类的方法。但是我仍然无法理解回调的主要概念,使用回调的目的是什么?
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

这是一个不错的教程,很好地描述了回调和用例。


回调的概念是在另一个类中的某些工作完成时通知类同步/异步。有人称其为好莱坞原则:“不要叫我们,我们叫你”。


这是一个例子:


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中,在“活动”和“片段”之间使用回调。因为片段应该


查看完整回答
反对 回复 2019-12-09
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

我在以下情况下使用:例如,在UI中,我从按钮获得了操作。用户想要下载一个500mb的文件。谢谢,我将初始化后台引擎(AsyncTask类)并将参数传递给他。在用户界面上,我将显示一个阻止进度对话框,并使用户无法进行其他任何单击。问题是:何时从UI删除阻止?答案是:引擎成功或失败的时间,以及回调或通知的时间。

通知和回调之间的区别是另一个问题,但是1:1的回调速度更快。


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 779 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信