android下载框架FileDownloader的简单使用

澹台华晖
2023-12-01

首先,依赖:

 

implementation 'com.liulishuo.filedownloader:library:1.7.4'

因为我没有定制组件,所以我直接在使用的地方初始化:

 

FileDownloader.setup(ac);   //ac为activity的上下文对象

然后直接使用:

 

String FileLoad = "cxstatus/";
 FileDownloader.getImpl().create(url)    
            .setPath(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+FileLoad+"status.apk")
            .setForceReDownload(true)
            .setListener(new FileDownloadListener() {
               //等待
   @Override
   protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {
      progressDialog.show();
   }
   //下载进度回调
   @Override
   protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {
      progressDialog.setProgress((soFarBytes * 100 / totalBytes));
   }
   //完成下载
   @Override
   protected void completed(BaseDownloadTask task) {
      progressDialog.cancel();
                    installAPK();
                }
   //暂停
   @Override
   protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {

   }
   //下载出错
   @Override
   protected void error(BaseDownloadTask task, Throwable e) {
      Toast.makeText(ac,"下载出错",Toast.LENGTH_SHORT).show();
      progressDialog.cancel();
   }
   //已存在相同下载
   @Override
   protected void warn(BaseDownloadTask task) {
      progressDialog.cancel();
   }
}).start();

很不错的一个下载框架,性能很好;

更多的使用可以去github上去看文档,有中英文的

github地址:https://github.com/lingochamp/FileDownloader

 

 

 

 

 类似资料: