2012-12-28 99 views
-2

我就AsyncTasks一个问题:安卓的AsyncTask

在我的项目我有多个的AsyncTask类,如CustomTask1和CustomTask2等等,这些我在做一些HTTPPOSTS和分析的东西。 作为AsyncTasks的一个参数,我得到了一些最终的静态字符串,例如(http:// IP /“Web界面的一些特殊命令”)。

实际上,我不想要4-5个AsyncTask类,因为那里的许多东西实际上是相同的,所以我多次写了相同的代码。 对一个AsyncTask进行编码并在其中放入一些方法并定义静态值,决定使用哪种方法会更好吗?然后,问题是我还需要AsyncTask的不同返回值,有时是一个字符串,有时是一个ArrayList,该怎么做?

,整个事情就有点整洁

谢谢

+0

以及如何返回不同的值我们应该在没有任何代码片段的情况下帮助您? – Houcine

+0

我并不是想要得到你的一些代码,而是想知道如何“清理”我的项目 – user1515520

+0

你应该添加你的代码,以帮助你用最好的方法来清理你的代码 – Houcine

回答

0

如果你有一些被反复在你的应用方法考虑写扩展了应用类的类。了解更多关于它here

+0

感谢编辑,移动网址粘贴不是很有趣:) –

1

你写:

我不想4-5的AsyncTask类“,导致很多东西在那里实际上是相同的,所以我相同的代码多次写..

这就是问题所在 - 不要多次写入相同的代码,但是有多个AsyncTasks。 AsyncTasks应该只用作包含特定于任务的逻辑的每个特定任务类型的代码的Facade。当然,如果这些任务共享相同的“算法部分”,那么将这些算法部分写入一个地方,并通过输入的任务对其进行不同的揭示。我会做这样的事情:

class TaskLogicImpl //contains various task general static methods like parsing string etc... 
{ 
    static void preParseServerResponse()....... 
} 

然后创建任务:

class Task1 : AsyncTask<URL, Integer, List> 
{ 
    call your. TaskLogicImpl.... 
} 

因为每个任务类型,您将能够在一个类型安全的方式

+0

是的,我知道你的意思。非常感谢你! 这些类真的共享相同的“算法片段”,所以我很想知道如果在“源代码样式”方面有更少的代码会更好, – user1515520