在本篇内容中小编给各位整理了关于Android使用Xutils3进行断点下载的实例以及相关代码,需要的朋友们参考下。
使用工具:Android studio 3.0
使用方法:
一:在build.gradle(Module:app)中添加依赖
implementaion 'org.xutils:xutils:3.5.1'
二:单独创建一个MyApp类初始化xutils,类名可自定义
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
}
}
三:在AndroidManifest中添加权限并注册MyApp
//添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
//注册MyApp在<application>节点中添加android:name=".MyApp'
四:使用下载方法
public void download(View view){
String path=et.getText().toString().trim();
RequestParams params=new RequestParams(path);
params.setSaveFilePath(Environment.getExternalStorageDirectory()+"/myapp/");
params.setAutoRename(true);
x.http().post(params,new Callback.ProgressCallback<File>(){
@Override
public void onWaiting() {
}
@Override
public void onStarted() {
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
pd.setMax((int)total);
pd.setProgress((int)current);
}
@Override
public void onSuccess(File result) {
Log.i("TEST","下载完成");
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
知识点扩展:
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持有, 但被Mem Cache移除的图片, 减少页面回退时的闪烁.
- view注解模块仅仅400多行代码却灵活的支持了各种View注入和事件绑定, 包括拥有多了方法的listener的支持.
本文标题为:Android使用Xutils3进行断点下载的实例


- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- iOS 对当前webView进行截屏的方法 2023-03-01
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android实现监听音量的变化 2023-03-30
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Android studio实现动态背景页面 2023-05-23
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android实现轮询的三种方式 2023-02-17
- Flutter实现底部和顶部导航栏 2022-08-31