java - 我在哪里可以写我的 AsyncTasks

标签 java android android-asynctask

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

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

是否有任何推荐的方法来编写 AsyncTask 类?

最佳答案

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

您可以将它们设置为接受 ContextActivity 对象等...然后使它们可重用。如果你有一些只对某个 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/

相关文章:

java - 需要将带有链接(快照引用)的html文件转换为word文件

java - 如何给 Java 程序打补丁?

android - 电话链接android不工作(银河S5)

android - 在网络服务调用期间显示 'please wait'

android - 从不同的 Activity 方法更新 Activity UI?

java - 使用 AccessType.PROPERTY 对 JPA 实体属性调用清除失败

java - 从 onBalloonTap 加载 Activity

android - 使用 Android 加速度计计算距离,海拔?

java - 如何检测多次点击并最终在 Android 应用程序中仅触发一次更新

java - 将 Double 元素添加到二维数组