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