spi*_*ce7 2 service android android-asynctask android-activity
嘿伙计们,我只能在这上面找到1个帖子,而且它并没有真正回答我的问题,所以我要求自己.
我的应用程序正在下载和解析rss文件,我显然决定在后台任务中执行此操作.我选择了AsyncTask,我试图让它开始下载,然后调出rss feed的列表视图.从那里我希望来自其他活动的AsyncTask在加载它时将现在解析的信息传递给新的列表视图活动.我无法弄清楚如何将我的AsyncTask对象的引用传递给我的新活动而不实现parcelable并将其添加到bundle中,这对我来说是一个巨大的混乱.有一个更好的方法吗?
我也看到其他人推荐开始服务.这样做有什么好处?谢谢!
〜斯科特
这正是使用服务的情况.AsyncTask用于在UI线程上执行操作(实际上是一个便利类).
你正在做什么应该继续服务,因为你不一定关心UI线程,因为你不会在同一个活动中显示.
以下是你应该如何做到这一点:
1)创建服务并处理RSS提要2)服务内部应该使用ContentResolver将结果存储在数据库中3)让ListActivity中的ListAdapter监听与服务更新相同的CONTENT_URI上的更改.这将在添加或删除行时自动更新列表,没有任何ANR,因为它们都在后台线程上
其他一些优点是您可以在后台同步而无需打开UI.这对于RSS应用程序非常有用,因为您并不总是希望等待用户启动同步.
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |