3
A
回答
2
這取決於類型的同步...例如:
- 如果您的同步過程包括只下載1包含所有新數據(比如說一個JSON文件)的文件,這很容易。你只需要測量你下載了多少文件(看看這個問題Download a file with Android, and showing the progress in a ProgressDialog)
- 如果你的同步過程涉及到下載不同的文件(比如圖像,文本等)......你可以實現進度酒吧取決於有多少文件需要下載(希望它們的重量有多少)。
- 如果您下載不同的文件,但是他們的同步不同,您可以先詢問服務器同步將使用多少個文件以及每個文件的大小。然後像上面一樣做。
理想情況下,您必須考慮您正在接收的文件大小+您使用它們的時間。
3
使用AsyncTask進行連接。
在preExecute中獲取要下載的對象的大小,使用對象的上限大小創建進度條等。
onProgressUpdate計算自上次進度更新以來已完成了多少工作,以便您可以估算時間並更新您的進度欄,並且總計完成。
相關問題
- 1. 使進度條與計時器同步
- 2. 如何使進度條與服務器代碼同步工作?
- 3. 進度條同步javascript到服務器時間?
- 4. 服務器端 - 進度條
- 5. 如何同步與服務器時間
- 6. 與服務器同步GIT
- 7. 同步PouchDB與服務器
- 8. 與服務器同步
- 9. 進度條校準與循環同步
- 10. JSF進度條 - 服務器端進程
- 11. 如何在與服務器連接時顯示進度條
- 12. 與FTP服務器的文件同步
- 13. 下載服務器進度條pecl
- 14. Jquery進度條服務器端
- 15. 實時應用異步與同步套接字服務器
- 16. 服務未進行同步
- 17. 同步倒數計時器和進度條
- 18. 通過同步服務與iCal同步
- 19. 同步架構服務器到服務器同步
- 20. 服務器同步到NTP服務器
- 21. Android進度條和服務
- 22. 同步數據庫與服務器
- 23. Backbone.js模型 - 與服務器同步ID
- 24. 同步eWon模塊與SQL服務器
- 25. JetBrains PhpStorm - 與FTP服務器同步
- 26. 與服務器同步數據
- 27. 不TortoiseHg自動與服務器同步
- 28. AsyncTask與否?服務器同步活動
- 29. 與遠程服務器同步文件
- 30. PhpStorm不與服務器同步
非常感謝您的快速回答。目前我只想下載json文件。所以,你發送的鏈接對我來說應該足夠了。我會試試這個,如果有問題讓你知道。 – Sapan 2011-05-09 17:09:11
HI,在我的主類中,我創建了一個progressDialog,然後調用了DownLoad File的執行函數。如果連接到服務器時出錯,我想更新進度條中的消息,然後關閉進度dialox框。我試圖在doInBackground函數的catch塊中做這件事,但我得到一個錯誤:只有原始線程可以修改進度對話框?我應該怎麼做?我甚至無法在DownLoad文件類中創建Toast消息 – Sapan 2011-05-10 05:40:31
這是因爲doInBackground方法在另一個線程中執行。爲了在它裏面做UI的東西,你必須使用'runOnUiThread'方法。查找有關它的信息。 – Cristian 2011-05-10 13:12:17