80,492
社区成员
发帖
与我相关
我的任务
分享
RequestParams params = new RequestParams(CurrPartStru.DownloadUrl);
//设置断点续传
params.setAutoResume(true);
params.setAutoRename(false);
params.setConnectTimeout(9000);
params.setMaxRetryCount(1);
params.setSaveFilePath(CurrPartStru.FilePath+CurrPartStru.FileName);
CurrPartStru.IsDownloading=true;
x.http().get(params, new Callback.ProgressCallback<File>() {
@Override
public void onWaiting() {
}
@Override
public void onStarted() {
FlowCommon.getInstance().UpdateRespondTime(CurrPartStru.Parent);
LogUtils.manprintf("[Fota]3:下载固件,FileId="+CurrPartStru.FileId+",FileType=" + CurrPartStru.FileType
+",DownloadUrl="+CurrPartStru.DownloadUrl
+",开始下载");
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
BigDecimal b = new BigDecimal((float) current / (float) total);
float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
Notifying(CurrPartStru.Parent,100,(int) (f1 * 100));
FlowCommon.getInstance().UpdateRespondTime(CurrPartStru.Parent);
LogUtils.manprintf("[Fota]3:下载固件,FileId="+CurrPartStru.FileId+",FileType=" + CurrPartStru.FileType
+",DownloadUrl="+CurrPartStru.DownloadUrl
+",Total="+total+",Current="+current);
}
@Override
public void onSuccess(File result) {
FlowCommon.getInstance().UpdateRespondTime(CurrPartStru.Parent);
//验证失败,并且没有超过次数,重试下载
if(!FileDownloadOverCheck(CurrPartStru.Parent)) {
CurrPartStru.IsDownloading=false;
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
LogUtils.manprintf("[Fota]3:下载固件失败,FileId="+CurrPartStru.FileId+",FileType=" + CurrPartStru.FileType +",DownloadUrl="+CurrPartStru.DownloadUrl);
CurrPartStru.Parent.Step = FotaStep.Fail;
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
[code=csharp]