1

我正在创建一个应用程序,它广泛用于AsyncTask从数据库中检索数据。我的问题是我有近 12 种不同AsyncTasks的代码,这让我的代码越来越脏,而且有些任务在不同的活动之间共享。

我已经写的一些AsyncTask有自己的java类文件,但这并不总是理想的,因为一些请求需要访问应用程序的资源(使用Resources.getSystem().getString(stringId)不可能,或者需要传递我需要修改的实例作为参数作为参考)

有什么推荐的写AsyncTask类的方法吗?

4

1 回答 1

2

在不知道具体情况的情况下很难说,但是如果您有一些执行类似任务的任务,那么您可以在他们自己的文件中创建它们并创建采用您需要的参数的构造函数。

您可以将它们设置为接受ContextActivity对象等...然后使它们可重用。如果你有一些只对某个特定的东西是必需的,Activity那么我会把它变成一个内部类,但如果它被多个使用,Activities那么我会把它变成一个单独的类并使用构造函数来获取所需的参数。

我的应用程序中有很多AsyncTasks,这取决于您如何需要它们。正如我所说,Context当您需要 a 的对象时,您可以将 a 传递给构造函数Context。就这样过去吧

MyTask task = new MyTask(this);  // for passing Context or any other params the constructor takes
task.execute();

并且在任务中

public class MyTask extends AsyncTask<...>  // add AsyncTask params
{
     Context context;
     public MyTask(Context c)
     {
         context = c;
     }
     // methods
}
于 2013-08-15T22:32:56.293 回答