如何实现回调去完成我们的事

 回调方法一般都是通过一个接口类去实现,接口类作为方法的参数传递进去,接口中的方法的参数值就是返回给我们的值,我们可以定义返回值,去完成我们的需求。有了这个接口类,我们就可以动态的方法的执行过程,比如有这样的一个需求,要实现复制文件的时候实现进度条,如果这个时候用回调的方法就很容易实现,而不是苦恼于怎样去在两个类之间进行传参数

 

比如下面有这样的一个复制文件的方法

 

/**

第一个参数:是要复制的文件

第二参数:是要复制到的路径

第三个参数:是一个接口类,实现的是监听复制文件过程

**/

Public Boolean CopyFile(FilecopyFile,String savePath, CopyDataListenerlistener){}

 

Publicinterface CopyDataListener {

 

      //监听过程一:是文件开始复制

void on Copy Start();

      

       //监听过程二:是文件复制过程

       //第一个参数:是文件复制的当前长度

       //第二个参数:是文件的总长度

      void onCopying(long currentLong, long fileLong);

 

       //监听过程三:文件复制完成

      void onCopyComplete(long fileLong);

}

这个监听类是一个自定义的接口类,里面的三个方法是模拟文件复制的三个过程,“开始复制”,“复制进行”,“复制结束”,在这三个方法里面的参数是根据实际的开发需要来设定,比如现在,我要实际进度条的更新,我就可以在“复制进行”这个过程中不断的更新进度条,从而达到进度条更新的效果。当然我们也可以按照平常的思路,将进度条作为参数传递过来,也可以实现进度条更新的效果,但是这是不推荐的方法。

 

又比如有这样的一个需求我们要上传文件

可以控制文件上传的暂定,开始,取消的操作

这就需要我们动态的控制线程,去帮我们实现要做的事

 

总的来说回调函数的好处:

1.  可以动态的监听所执行的方法

2.  你可以在方法执行的过程中返回你想要的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值