Android 用の Internet Download Manager のようなアプリケーションを開発しています。
IDMで行われるように、Androidでファイルのさまざまな部分をダウンロードする方法を知りたいです。
ダウンロード前にファイルのメタデータを取得する方法と、ファイルを分割してダウンロードする方法を教えてください。
ユーザー名パスワードやダウンロードの制限はありません... URL による単純なダウンロードだけです。
Android 用の Internet Download Manager のようなアプリケーションを開発しています。
IDMで行われるように、Androidでファイルのさまざまな部分をダウンロードする方法を知りたいです。
ダウンロード前にファイルのメタデータを取得する方法と、ファイルを分割してダウンロードする方法を教えてください。
ユーザー名パスワードやダウンロードの制限はありません... URL による単純なダウンロードだけです。
ダウンロードに HTTP を使用していると仮定すると、HEAD
http 動詞とRANGE
http ヘッダーを使用する必要があります。
HEAD
ファイルサイズ(利用可能な場合)が表示RANGE
され、バイト範囲をダウンロードできます。
ファイルサイズを取得したら、それをほぼ同じサイズのチャンクに分割し、チャンクごとにダウンロード スレッドを生成します。すべてが完了したら、ファイル チャンクを正しい順序で書き込みます。
編集:
RANGE
ヘッダーの使用方法がわからない場合は、その方法を説明する別の SO 回答があります: https://stackoverflow.com/a/6323043/1355166