Android ASyncTask 在主线程中使用下载的对象
我下载了一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当你构建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.