Android使用Xutils3进行断点下载的实例
使用工具:Androidstudio3.0
使用方法:
一:在build.gradle(Module:app)中添加依赖
implementaion'org.xutils:xutils:3.5.1'
二:单独创建一个MyApp类初始化xutils,类名可自定义
publicclassMyAppextendsApplication{
@Override
publicvoidonCreate(){
super.onCreate();
x.Ext.init(this);
}
}
三:在AndroidManifest中添加权限并注册MyApp
//添加权限
//注册MyApp在
节点中添加android:name=".MyApp'
四:使用下载方法
publicvoiddownload(Viewview){
Stringpath=et.getText().toString().trim();
RequestParamsparams=newRequestParams(path);
params.setSaveFilePath(Environment.getExternalStorageDirectory()+"/myapp/");
params.setAutoRename(true);
x.http().post(params,newCallback.ProgressCallback(){
@Override
publicvoidonWaiting(){
}
@Override
publicvoidonStarted(){
}
@Override
publicvoidonLoading(longtotal,longcurrent,booleanisDownloading){
pd.setMax((int)total);
pd.setProgress((int)current);
}
@Override
publicvoidonSuccess(Fileresult){
Log.i("TEST","下载完成");
}
@Override
publicvoidonError(Throwableex,booleanisOnCallback){
}
@Override
publicvoidonCancelled(CancelledExceptioncex){
}
@Override
publicvoidonFinished(){
}
});
}
知识点扩展:
xUtils3简介
xUtils包含了orm,http(s),image,view注解,但依然很轻量级(246K),并且特性强大,方便扩展:
- 稳定的基石:AbsTask和统一的回调接口Callback,任何异常,即使你的回调方法实现有异常都会进入onError,任何情况下onFinished总会让你知道任务结束了.
- 基于高效稳定的orm工具,http模块得以更方便的实现cookie(支持domain,path,expiry等特性)和缓存(支持Cache-Control,Last-Modified,ETag等特性)的支持.
- 有了强大的http及其下载缓存的支持,image模块的实现相当的简洁,并且支持回收被view持有,但被MemCache移除的图片,减少页面回退时的闪烁.
- view注解模块仅仅400多行代码却灵活的支持了各种View注入和事件绑定,包括拥有多了方法的listener的支持.