温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android使用Xutils3进行断点下载的实例

发布时间:2020-09-04 18:20:08 来源:脚本之家 阅读:128 作者:半斤水泥 栏目:移动开发

使用工具: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的支持.
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI