1

我在这里寻找设计我的应用程序的正确方法。

我有 5 个活动,每个活动都调用一个单独的数据库方法(更新、插入、删除 ..等)。我想知道,不是创建 5 个异步任务类,而是每个类都是属于要调用的活动的私有类,有没有办法可以创建一个异步任务类,以便在所有活动中实例化它的对象?

在 C++ 中,您可以传递要执行的“整个方法”,这样我就可以创建一个分配任务并将一个方法传递给它以执行,但我不确定我是否可以在 Java 中做到这一点。或者你认为最好的做法是什么?

谢谢

4

2 回答 2

1

检查Runnable班级。

ARunnable代表可以执行的任务。你需要实现它run()你可以将一个实例传递Runnable给你AsyncTask并在它的doInBackground(...)方法中执行它。

可能有更好的方法来做到这一点,但这是我现在唯一想到的事情。

于 2012-11-07T16:30:53.907 回答
1

我不确定这是否符合您的要求,但我建议创建一个IntentService,它将自动和异步地将您的 Database/Content-Provider 读取和写入排队。

您可以编写单独的读取、写入和更新方法,这些方法将在 IntentService 的 onHandleIntent 方法中处理。Intent 服务确保

  • 数据库/CP 访问是异步完成的
  • 连续的数据库/CP 访问请求被自动排队和处理
  • 服务自动停止/启动,无需管理生命周期
  • 即使应用程序进入后台,数据库/CP 读/写也已完成

对于 ListView/Adapter 访问,考虑使用加载器

于 2012-11-07T16:31:25.200 回答