2011-12-07 72 views
0

的活動開始時,我怎麼能運行的異步任務嗎?大約有7項活動,我需要在每次啓動時運行異步任務,並在活動消失時取消它。運行任務時,活動開始

public MyApp extends Application{ 
    public void onCreate(){super.onCreate();} 
} 

一個明顯的方法是將它放在創建每個活動,但這不是非常乾燥。有沒有其他方法?如果我把它放在應用程序onCreate中,那麼我無法執行Toast.makeText,因爲我猜沒有任何活動可用...

回答

1

所有的代碼首先使用應用程序類的onCreate - 方法。一般來說,你應該避免在這裏做東西,但使用你的Activity類。您應該瞭解應用程序和活動之間的區別,並且應該對活動生命週期有很好的理解,因爲這是Android的基礎。

對於一般任務,你應該創建自己的很可能是抽象BaseActivity,實現共享/共享的東西那裏繼承此類活動。但請記住,幾個活動可能同時被實例化,所以使用正確的處理程序確實取決於您想要實現的行爲類型。再次:瞭解Android生命週期如何工作以及如何管理活動,或者您可能遇到一些麻煩。

0

您是否考慮過創建一個服務來託管您的任務,並將它綁定到每個您的活動'OnCreate

+0

我讀到這種方法太多,但我試圖找到一個解決方案,其中,我需要在應用程序的生命只有一次啓動任務... – Amit

+0

這相當於在每個活動的執行你的方法'OnCreate'。 – Ramseys

+0

另外,如果你的方法是爲每個活動的同時,你可以與你的任務創建自己的類從活動繼承,並覆蓋'OnCreate',然後繼承您的每一個活動,從這個類... – Ramseys