Android ASyncTask 在主线程中使用下载的对象

发布于 2025-01-05 05:19:22 字数 207 浏览 0 评论 0原文

我下载了一个 RSS Feed,然后在一个类中解析它,rssfeed 被保存为自定义对象;然而,由于 feed 相对较大,并且 Android 通常只能在 EDGE 上运行,因此代码会被阻塞。

我想将文件的下载放入带有不确定进度对话框的 AsyncTask 中。

我还希望能够在从主线程内的 ASynctask 下载 rssfeed 对象后访问该对象。我该如何引用它?

I download a RSS Feed and then parse it in a class, the rssfeed is saved as a custom object; however the code blocks as the feed is relatively big and the Android typically works only on EDGE.

I want to put the downloading of the file into an AsyncTask with an indefinite progress dialog.

I also want to be able to access the rssfeed object after its downloaded in the ASynctask from within the Main Thread. How do I reference it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙气飘飘 2025-01-12 05:19:22

当你构建AsyncTask时,第三个通用参数是Result,当你执行asyn任务时,你可以调用 get 检索 Result 对象。根据您需要在主线程上对对象执行的操作,您还可以重写 AsyncTask 的 onPostExecute 方法,该方法将在 doInBackground 完成后在主线程上运行。这可能是最好的选择,重写 AsyncTask 上的 onPostExecute。

When you build an AsyncTask, the third generic argument is the Result, and when you execute the asyn task, you can call get to retrieve the Result object. Depending on what you need to do with the object on the main thread, you can also override the AsyncTask's onPostExecute method which will be run on the main thread after doInBackground completes. This is probably the best bet, to override onPostExecute on the AsyncTask.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文