gpt4 book ai didi

java - 获取 AsyncTask 的返回值并使用它?

转载 作者:太空狗 更新时间:2023-10-29 15:11:07 24 4
gpt4 key购买 nike

我有一个 AsyncTask,它返回一个包含 2 个元素的映射。我是这样做的:

        Map<String, ArrayList<String>> result = new HashMap<String, ArrayList<String>>();
result.put("usernames", usernames);
result.put("messages", messages);

return result;

现在我在另一个 Activity 中调用这个 Async:

new ReadChat().execute(response);

我如何从异步任务(从 doInBackground())获取另一个 Activity 中的返回数据?

最佳答案

How can I get the returned data in this other Activity from the AsyncTask?

起初我认为你的问题不是很清楚。这取决于“你想用这些数据做什么”。 AsyncTask 指定了三个我们可以说是“主要” 方法:

  • onPreExecute() - 在任务开始前调用
  • doInBackground() - 在后台“默默地”做一些工作
  • onPostExecute() - 在 doInBackground() 完成后调用

因此,如果您的 doInBackground()方法返回 Map<String, ArrayList<String>>您可以在将其作为参数 e.q 的 onPostExecute() 中使用它:

@Override
public void onPostExecute(Map<String, ArrayList<String>> result) {
// do some stuff
}

在这里您可以对结果做任何您想做的事,例如更新您的 UI使用这些数据,使用 SharedPreferences 持久化数据或 SQLite , 进行一些下一步的计算等。

关于java - 获取 AsyncTask 的返回值并使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com