【问题标题】:Passing data between two asynctasks在两个异步任务之间传递数据
【发布时间】:2015-03-09 20:46:53
【问题描述】:

我正在编写一个允许用户使用 google sheet API 将一些信息更新到 google drive 的 android 应用程序。

我有一个更新一个电子表格的活动,另一个更新另一个电子表格的活动。

我在每个活动中都有一个异步任务,负责执行更新代码。

我的问题是: 我开始第一个活动 - 用户在那里启动异步任务,同时我也开始第二个活动,在那里用户开始第二个异步任务 - 意味着我不能确定哪个异步任务将首先完成

如果一个或两个 AsyncTask 失败,我想报告错误。

我的问题是 - 如何在不同活动中的两个 PostExecute 方法之间进行交互?

有什么想法吗?

【问题讨论】:

  • 你想采取什么样的行动?如果第一个 asyncTask 在 Activity 被终止的情况下完成会发生什么?
  • 如何在不同活动中的两个 PostExecute 方法之间进行交互? 正如方法名称所说,它将消息“发布”到 UI 线程......只能有一个活动活动...所以...自己回答

标签: android asynchronous android-asynctask


【解决方案1】:

一种方法是使用SharedPreferences 在两个 AsyncTask 中存储和检索数据。 this answer 将引导您完成 SharedPreferences。

另一种方法是创建一个新的BroadcastReceiver 并从AsyncTasks 通知它。 here 是 vogella 编写的用于创建接收器的好教程。

【讨论】:

    【解决方案2】:

    从您的主要活动开始 2 IntentServices。当服务完成其任务时,使每个服务向主要活动报告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2017-11-03
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多