2011-12-07 71 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