gpt4 book ai didi

java - Activity 中的 AsyncTask 链接(回调?)

转载 作者:行者123 更新时间:2023-12-01 12:51:24 25 4
gpt4 key购买 nike

我正在尝试将几个 AsyncTask 类链接到一个 Activity 中,一旦它们全部完成,它将显示另一个 Activity (成功地)。目前,我将它们链接到彼此的 onPostExecute() 方法上,但我不喜欢这样做,因为它在某种程度上不必要地耦合了实现。

例如,我有一个 ImportVideoActivity,用户输入要下载的 YouTube URL。为此,我有两个 AsyncTask 类:

  • YouTubeVideoInfoTask:获取视频元数据信息并枚举可用的视频格式(质量和编解码器)。
  • YouTubeVideoDownloadTask:根据视频信息元数据中给定的 URL 执行视频下载。

我希望 ImportVideoActivity 首先执行 YouTubeVideoInfoTask 来枚举视频质量并选择最好的一个。之后,它应该执行 YouTubeVideoDownloadTask 并在完成后启动带有下载视频的 CropVideoActivity

如何在 ImportVideoActivity 内优雅地链接这两个 AsyncTask 类?是否有某种监听器/回调允许我监视这些任务何时完成并启动下一个任务,而无需使用 AsyncTask.onPostExecute() 方法?

最佳答案

是的。在您的 Activity 中使用回调监听器。一旦调用此函数,您就可以从 Activity 启动新的 AsyncTask。

我的其他答案中的示例:How to return an object from the asynctask to the main class in android

关于java - Activity 中的 AsyncTask 链接(回调?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194651/

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