Python的urllib.request.urlretrieve()接受一个函数,当从网络中提取每个块时将调用该函数。
使用三个参数调用该函数:块的渐进标识符,其大小和下载的总大小。
鉴于这三个信息,我可以计算已经获取的字节数吗?这将用于计算下载的进度。
我很想做chunk_number * chunk_size / download_size
,但我不确定所有块的块大小是否恒定。
答案 0 :(得分:1)
到目前为止,您可以保持所有尺寸的总计。
试试这个:
private void animateMenu(final Toolbar toolbar){
// Flash the menu several times quickly, then wait a few seconds. Repeat.
animateMenu(toolbar, 6, R.drawable.ham_menu_2, new GenericCallback() {
@Override
public void success(Object result) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
animateMenu(toolbar);
}
}, 5000);
}
@Override
public void failure(Throwable error) {
}
});
}
private void animateMenu(final Toolbar toolbar, final int count, final int drawable, final GenericCallback callback){
toolbar.postDelayed(new Runnable() {
@Override
public void run() {
Drawable d2 = ResourcesCompat.getDrawable(getResources(), drawable, null);
toolbar.setNavigationIcon(d2);
int i = count - 1;
if(i == 0){
callback.success(null);
}
else {
animateMenu(toolbar, i, drawable == R.drawable.ham_menu ? R.drawable.ham_menu_2 : R.drawable.ham_menu, callback);
}
}
}, 200);
}