2012-10-16 54 views
7

我正在開發一個應用程序,如用於Android的Internet下載管理器。Android:在很多部分下載單個文件

我想知道如何在Android中下載文件的不同部分,因爲它是在IDM中完成的。

如何在下載前獲取文件的元數據以及如何下載文件?

在下載中沒有用戶名密碼或任何限制...只需通過網址簡單下載。

+0

通過什麼樣的協議? –

+0

http,https或ftp –

回答

6

假設您使用HTTP進行下載,則需要使用HEAD http動詞和RANGE http標頭。

HEAD會給你文件大小(如果有的話),然後RANGE讓你下載一個字節範圍。

一旦你有文件大小,將它分成幾乎相同大小的塊,併爲每個塊產生下載線程。一旦完成,請按正確的順序寫入文件塊。

編輯:

如果你不知道如何使用RANGE頭,這裏的另一個SO答案,說明如何:https://stackoverflow.com/a/6323043/1355166

+0

在android中是否有任何函數來實現這個? –

+0

是的,我編輯了答案以包含指向另一個答案的鏈接。 – gcochard

+2

「範圍」實際上是一個標題 – irreputable