如何在一个活动中避免多个asynctask

时间:2014-04-30 14:40:34

标签: android android-asynctask

我有一个需要运行六个asynctask类的android活动。 我创建了我的活动并且工作正常,但是对于这6个类,我的代码很难理解或编辑。 也许它的转储,但我是android的新手,所以我需要知道如何简化我的代码:是否有可能在一个类中使所有异步任务知道它们具有不同的功能

3 个答案:

答案 0 :(得分:1)

您可以只使用一个异步任务,并通过传递功能ID(如果可能)作为参数来执行其中的不同操作。

虽然,我强烈建议您创建6个不同的文件,每个文件包含您的Async Task类(如果它们具有真正不同的功能)并将它们放在包中,如果可能的话,将它们放在#34; Async Tasks"中。

例如,如果您需要对服务器执行不同类型的请求,则应该只有一个异步任务,不同的参数(例如URL,post参数等)并根据onPostExecute方法处理不同的结果对您所做的请求类型:向您的活动发送一个事件,该事件调用正确的方法来处理结果。

您可以使用此技术来管理更一般的异步任务

答案 1 :(得分:1)

  

是否有可能在一个类中进行所有异步任务

是的,但不要。你提到"简化"你的代码 - 将更多功能放入一个类将使得理解该类负责的内容变得困难。

更好的选择是添加6个不同的AsyncTask实现,并在Activity中创建它们的新实例。您用于类的名称应该代表它们的作用,并且它们应该尽可能少。

答案 2 :(得分:0)

您可以将AsyncTasks移动到单独的文件中。您可以将活动传递给AsyncTasks构造函数。

您可能也可以将一些任务合并为一个。