gpt4 book ai didi

android - 多个 Activity 上的 AsyncTask?

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

嘿伙计们,我只能找到 1 个线程,它并没有真正回答我的问题,所以我问自己。

我的应用程序正在下载和解析一个 rss 文件,我显然决定在后台任务中执行此操作。我选择了 AsyncTask,我试图让它开始下载,然后调出 rss 提要的 ListView 。从那里我希望其他 Activity 的 AsyncTask 在加载它时将现在解析的信息传递给新的 ListView Activity 。我无法弄清楚如何在不实现 parcelable 并将其添加到包的情况下将对我的 AsyncTask 对象的引用传递给我的新 Activity ,我认为这将是一个巨大的困惑。有更好的方法吗?

我还看到其他人建议启动服务。这样做有什么好处?谢谢!

~斯科特

最佳答案

这正是使用服务的情况。 AsyncTask 用于在 UI 线程上执行操作(实际上是一个便利类)。

您正在做的事情应该在服务中继续进行,因为您不必关心 UI 线程,因为您不会在同一个 Activity 中显示。

这是你应该如何去做的:

1) 创建服务并处理 RSS 提要2) 在服务中,您应该使用 ContentResolver 将结果存储在数据库中3) 让您的 ListActivity 中的 ListAdapter 监听与您的服务更新时相同的 CONTENT_URI 上的更改。这将在添加或删除行时自动更新您的列表,没有任何 ANR,因为它都在后台线程上

其他一些优点是您可以在后台同步而无需打开您的用户界面。这对于 RSS 应用程序可能非常有用,因为您并不总是希望等待用户启动同步。

关于android - 多个 Activity 上的 AsyncTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401233/

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