1つのプログレスバーに複数のファイル(今のところ2つ)をダウンロードしたい(プログレスバーをリセットせずに)
これを行うために、すべてのファイルの合計の長さを取得して、公開進行メソッドで使用します
問題は、進行状況バーが 50% に達すると 0 にリセットされ、さらに 50% になるまで再び増加することです。
これが私のコードです
@Override
protected Void doInBackground(Void... params) {
int totalSizeFile;
totalSizeFile=cm.getLength(url[0]);
totalSizeFile+=cm.getLength(url[1]);
progressBar.setMax(totalSizeFile);
cm.downloadMp3(url[0], "test.mp3", totalTailleFic);
cm.downloadMp3(url[1], "test2.mp3", totalTailleFic);
return null;
}
@Override
protected void onProgressUpdate(Integer... progress) {
textview.setText(String.valueOf(progress[0])+"%");
progressBar.incrementProgressBy(progress[0]);
}
publishprogress メソッドを呼び出すダウンロード関数のコード
byte[] buffer = new byte[1024];
int bufferLength = 0;
int total=0;
while ((bufferLength = inputStream.read(buffer)) != -1) {
total += bufferLength;
fileOutput.write(buffer, 0, bufferLength);
asynch.publishProgress(bufferLength);
}
どうもありがとうございました