2013-07-26 61 views
0

我有,我想正確地從我的Activity類和UI邏輯中分離出典型AsyncTask。 我覺得做這樣的:如何從AsynTask(最佳實踐)發送事件消息?

  1. 製作監聽器接口

    public interface MyTaskListener { 
        void onTaskProgress(...); 
        void onTaskDone(...); 
    } 
    
  2. 讓我Activity實施MyTaskListener並通過對任務創建this參考。

  3. 呼叫收聽方法onPreExecute(),onProgressUpdate()onPostExecute()

但是可能是我重新發明了輪子,Android框架已經實現了一些更好的東西?我覺得像EventBus模式,所有感興趣的各方可以,我可以從我的AsyncTask觸發特定事件類型註冊。

+1

你的做法似乎還好我。 – Raghunandan

回答

1

接口是這樣做的最乾淨的方式,因爲你的任務類是「密封」,什麼都不知道關於周圍環境(不訪問來自外部類的任何東西,當你使用內部類頗具誘惑)和通信回來通用渠道。