因為Android應用程式是java寫的,基本上很多java寫的程式都可以直接照搬到Android上面,移植性非常Good。這裡講一下多線程下載下傳,就是每個線程都下載下傳自己的那部分,那麼就需要平均配置設定分割線程下載下傳多少,一張圖來說明一下。

第一個要點:http頭裡面有一個”Range”,就是在這裡設定從哪裡開始下載下傳。
第二個要點:RandomAccessFile,java給出的這個API。
分别開啟多個線程,每個線程規定得有下載下傳的大小,然後分别下載下傳,下載下傳下來的inputstream再組合在一起,怎麼組合呢,就會用到RandomAccessFile。
downLoad函數
httpUrlConnection先得到要下載下傳的檔案的大小,然後将這個檔案分别分為幾份(我這裡是開啟三個線程下載下傳,是以平均分了3份)。還有先建立一個與下載下傳大小一樣的檔案,通過RandomAccessFile實作。
下載下傳子線程
在這裡建立了一個txt檔案,目的就是将下載下傳到哪的資料存進去,如果網斷了再下載下傳的話,實作斷點下載下傳,那麼下次下載下傳就可以從這裡讀取資料,然後在寫入檔案,就不需要重頭再配置設定大小下載下傳了。這裡還用到了線程同步去更新進度條。
删除臨時txt檔案threadFinish
Handler
我是天王蓋地虎的分割線
MutilDownLoader.zip(JAVA)
多線程下載下傳.zip(Android)
本文轉自我愛物聯網部落格園部落格,原文連結:http://www.cnblogs.com/yydcdut/p/3796197.html,如需轉載請自行聯系原作者