如何實現回調去完成我們的事

 回調方法一般都是通過一個接口類去實現,接口類作爲方法的參數傳遞進去,接口中的方法的參數值就是返回給我們的值,我們可以定義返回值,去完成我們的需求。有了這個接口類,我們就可以動態的方法的執行過程,比如有這樣的一個需求,要實現複製文件的時候實現進度條,如果這個時候用回調的方法就很容易實現,而不是苦惱於怎樣去在兩個類之間進行傳參數

 

比如下面有這樣的一個複製文件的方法

 

/**

第一個參數:是要複製的文件

第二參數:是要複製到的路徑

第三個參數:是一個接口類,實現的是監聽複製文件過程

**/

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.  你可以在方法執行的過程中返回你想要的值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章