gpt4 book ai didi

android - 在 Android 中进行下一步之前需要完成长任务时的正确设计

转载 作者:太空狗 更新时间:2023-10-29 15:53:35 25 4
gpt4 key购买 nike

我是 android 编程的新手,我有一个关于需要在后台执行长时间任务的问题。我有这个应用程序,它在 Activity A 的 ListView 中显示论坛主题列表,当用户单击此列表中的项目时,我需要在 Activity B 中显示有关此项目的信息,其中包括一些文本和一些图像。

现在,此信息是从网络接收的。由于这是通信任务,我应该将它放在某种服务中,否则我可能会遇到 ANR。

我的问题是 - 在收到信息之前我该怎么做。由于在获取所有信息之前无法显示 Activity B,因此我必须“挂起”Activity A,直到从 Web 获取信息。

任何人都可以指导我关于这种常见流程的正确设计模式吗?当然,一些代码也会很有帮助。

提前致谢。

最佳答案

当用户单击 Activity A 中的某个项目时,启动 Activity B。将参数传递到 Activity B 的 Intent 中,使其成为详细 View 的主题。例如, Activity A 列出了行星。用户点击“Venus”并启动一个 Intent 以使用参数“Venus”启动 Activity B。

然后,Activity B 将启动一个 AsyncTask,它将向服务器查询您需要在 Activity B 中显示的关于 Venus 的所有信息。在查询期间,您可以显示一个进度条。之后,您完成解析来自服务器的 JSON 响应,使用您的 Venus 信息更新您的 Activity B。

Here is a link to an example of how to use AsyncTask.按照我列出的示例,您将在 onPreExecute 中显示 ProgressBar。然后,在doInBackground中查询服务器。然后用你的 Venus 信息更新 Activity B,并在 onPostExecute 中隐藏你的 ProgressBar。

关于android - 在 Android 中进行下一步之前需要完成长任务时的正确设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21016112/

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