我想设置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