android:asynctask

android:asynctask,android,class,static,android-asynctask,Android,Class,Static,Android Asynctask,我有一个关于异步任务的问题: 在我的项目中,我有多个AsyncTask类,如CustomTask1和CustomTask2等,在这些类中,我正在做一些HTTPPOSTS和解析工作。 作为AsyncTasks的参数,我得到了一些最终的静态字符串,如(http://IP/“用于Web界面的一些特殊命令”) 实际上,我不想要4-5个AsyncTask类,因为其中的很多东西实际上是相同的,所以我多次编写相同的代码。 编写一个AsyncTask代码并在其中放入一些方法并定义静态值(决定使用哪种方法)不是更

我有一个关于异步任务的问题:

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

实际上,我不想要4-5个AsyncTask类,因为其中的很多东西实际上是相同的,所以我多次编写相同的代码。 编写一个AsyncTask代码并在其中放入一些方法并定义静态值(决定使用哪种方法)不是更好吗?接下来的问题是,我还需要AsyncTask的不同返回值,有时是字符串,有时是ArrayList,如何做到这一点

整个事情会更整洁一点


谢谢

< p>如果你有一些在你的应用程序中重复的方法,考虑写一个扩展应用程序类的类。阅读更多关于它的信息

您可以这样写:

我不想要4-5个AsyncTask类,因为其中很多东西实际上是相同的,所以我多次编写相同的代码

这就是问题所在,-不要多次编写相同的代码,但要有多个异步任务。AsyncTasks应该用作每个特定任务类型的代码的门面,这些任务类型只包含特定于任务的逻辑。当然,如果这些任务共享相同的“算法片段”,那么将这些算法片段写在一个地方,并通过类型化任务以不同的方式公开。我会这样做:

class TaskLogicImpl //contains various task general static methods like parsing string etc...
{
   static void preParseServerResponse().......
} 
然后创建任务:

class Task1 : AsyncTask<URL, Integer, List>
{
  call your. TaskLogicImpl....
} 
class Task1:AsyncTask
{
请致电您的.TaskLogicImpl。。。。
} 

因为每个任务都是类型化的,所以您将能够以类型安全的方式返回不同的值

以及我们应该如何在没有任何代码片段的情况下帮助您?我不是想了解您的一些代码,而是想了解如何“清理”我的项目你应该添加你的代码,以帮助你用最好的方法清理你的代码谢谢你的编辑,移动url粘贴并不有趣:)是的,我知道你的意思。非常感谢你!这些类实际上共享相同的“算法片段”,所以我想知道在“源代码风格”方面是否应该减少代码