Android多線程下載SDK的設計,支持斷點續傳

5確定了每個線程負責下載的區間,建立線程集合,存放所有工作線程,還要建立數據庫存儲每個線程這次下載的文件塊的第一個字節、最後一個字節、本次下載的容量,線程的id(用於標記線程)、URL地址。然後啓動多個線程,發送HTTP請求獲取數據,通過輸入流把文件讀入後,RandomAccessFile保存在本地。(RandomAccessFile對應SD卡上的文件,RandomAccessFile.seek()方法可以指定從文件的某個位置開始寫入,所有線程利用同一個RandomAccessFile在文件的某個位置開始寫入字節,所有線程都讀取完後,在SD卡上就形成了我們看到的文件。

6  如果線程上次已經下載了一部分,下次繼續下載的話,要從數據庫中取出上次下載的字節總數,重新記錄本次下載的起始字節和終止字節(下次下載的起始字節start = id * block + currentDownloadSize,終止字節是end = (id + 1) * block

參考:

http://www.cnblogs.com/hanyonglu/archive/2012/02/20/2358801.html

http://blog.csdn.net/shimiso/article/details/6763986

http://blog.csdn.net/shimiso/article/details/8448544



發佈了83 篇原創文章 · 獲贊 9 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章