我正在创建一个应用程序,它广泛使用 AsyncTask
从数据库中检索数据。我的问题是我有将近 12 个不同的 AsyncTasks
,这让我的代码越来越脏,而且一些任务在不同的 Activity 之间共享。
我已经编写的一些 AsyncTask
有它们自己的 java 类文件,但这并不总是理想的,因为一些请求需要访问应用程序的资源(使用 Resources. getSystem().getString(stringId)
不可能,或者需要传递实例我需要修改作为参数作为引用)
是否有任何推荐的方法来编写 AsyncTask
类?
最佳答案
在不知道确切情况的情况下很难说,但如果您有一些执行类似任务的,那么您可以在他们自己的文件中创建它们,并创建采用您需要的参数的构造函数。
您可以将它们设置为接受 Context
、Activity
对象等...然后使它们可重用。如果你有一些只对某个 Activity
是必需的,那么我会把它做成一个内部类,但如果它被多个 Activity
使用,那么我会把它做成一个单独的类并使用构造函数获取所需的参数。
我的应用程序中有很多 AsyncTasks
,这取决于您如何需要它们。正如我所说,对于需要 Context
的对象,您可以在需要时将 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
}
关于java - 我在哪里可以写我的 AsyncTasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18262950/