各ダウンロードは、独自のスレッドで実行する必要があります(1つのファイルが小さい場合、1つのサーバーが速い場合など)。
スレッドを拡張するか、ダウンロード用のURIまたはその他の識別子によってパラメーター化されたランナブルを作成してみてください。それができたら、完了するまで実行される2つのスレッドを呼び出すことができます。UI(プログレスバー)を更新する必要がある場合は、ハンドラーを実装し、スレッドからハンドラーにメッセージを送信する必要があります。例えば
メインアクティビティクラス:
public static final int UPDATE_PROGRESS_BAR =0;
public final Handler uiHander = new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case UPDATE_PROGRESS_BAR: // Something like this to handle the case of progress bar update
int updateAmount = msg.obj;
// do something to update prog. bar
break;
次に、スレッドでそのメッセージを送信するだけで、ハンドラーへの参照が必要になります
uiHander.obtainMessage(<activity name>.UPDATE_PROGRESS_BAR,<integer update>).sendToTarget();
非同期タスクの実装がバージョンごとに変更され、両方のダウンロードを並行して実行する場合と実行しない場合があるため、これは最も移植性の高い方法である可能性があります(明らかに必要です)