1
我有一个棘手的用例,我试图找到最佳设计。描述是:从服务中下载文件(使用更新UI)
- 应该有一个
FolderListActivity
与相应的视图,其中显示了可供下载的文件夹列表- 用户能够对项目长按,并把它添加到下载队列
- 另一项活动叫
DownloadingQueueActivity
应该可用,其中:- 显示了队列中的项目,以进度条的列表(下载的文件/文件总数)
- 它的重排(用户应该能够改变队列项的顺序)
- 项目可以被删除(或者甚至是整个队列)
- 下载可暂停
此外,这应该由服务来处理,因为下载应该在退出应用程序后继续。因此,服务应能:
- 下载文件从队列文件夹
- 进展情况通知
DownloadingQueueActivity
- 监听队列的变化(由
DownloadingQueueActivity
)
我试图做这通过Messenger
,但我结束了与许多不同类型的消息,我不认为这是优雅的解决方案。
任何意见,甚至暗示实施这是非常感谢。
谢谢您的回答。 我有两个问题: - 你将如何实现下载部分?我唯一关心的是如何处理服务队列? - 为什么updateView在主线程中运行,即使您是从后台线程调用它? – 2013-02-19 11:10:07
找出我的问题的答案。谢谢。 – 2013-02-19 12:20:54
updateView线程不会在主UI线程上调用,因此不会允许您更新视图。要解决这个问题,你可以使用runOnUIThread函数。我已更新我的示例以显示此内容 – Nick 2013-02-19 15:17:35