我想設置ProgressDialog以向用戶顯示InputStream字節的進度。我能夠通過這種方式之下,在Android工作室的控制檯上顯示此:如何爲inputStream設置ProgressBar?
Log.d(TAG, "Progress, transferred " + Integer.toString(100 * bytesTransferred/osSize) + "%");
但是,我不知道如何將bytesTransferred/osSize正確連接到一個ProgressDialog,我可以使用線程時間進度條將花費多長時間來填充進度與下面的代碼:
update = new ProgressDialog(this);
update.setTitle("Transferring update");
update.setMessage("Please wait updating...");
update.setCanceledOnTouchOutside(false);
update.setProgress(0);
final int totalProgressTime = 100;
final Thread t = new Thread() {
@Override
public void run() {
int jumpTime = 0;
while(jumpTime < totalProgressTime) {
try {
sleep(1800);
jumpTime += 1;
update.setProgress(jumpTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
t.start();
update.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
update.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
update.show();
}
但會更好展現給用戶的實際字節傳輸。這下面是我必須與:
final int osSize;
final InputStream inputStream;
osSize = inputStream();
public void onProgress(int bytesTransferred) {
Log.d(TAG, "Progress, transferred " + Integer.toString(100 * bytesTransferred/osSize) + "%");
}
任何幫助,將不勝感激,在此先感謝。
https://stackoverflow.com/questions/8379398/java-progressmonitorinputstream-using-existing-jprogressbar – hunter
我希望找到一個簡單的方法來實現這一點,而不必以複雜的方式編寫不同的類,但感謝鏈接。我想知道是否可能只是添加到已經在logcat中顯示正在傳輸的字節的進程對話框中的onProgress。如果你明白我想說的話,我只需要知道如何將它們連接在一起。 – Jonas