private ProgressDialog progressDialog;
//新建一个File,传入文件夹目录String SDPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/by/";File file1 = new File(SDPath);//判断文件夹是否存在,如果不存在就创建,否则不创建if (!file1.exists()) {//通过file的mkdirs()方法创建目录中包含却不存在的文件夹file1.mkdirs();}
 /*** 下载pdf** @param url//文件下载地址* @param destFileDir//文件保存路径* @param destFileName//要保存的文件名* @param type //0:下载pdf;1:下载docx;*/private void downFile(String url, String destFileDir, String destFileName, int type) {OkGo.<File>get(url).tag(this)//.headers("header1", "headerValue1")////.params("param1", "paramValue1")//.execute(new FileCallback(destFileDir, destFileName) {@Overridepublic void onStart(Request<File, ? extends Request> request) {super.onStart(request);LogUtils.e("正在下载中。。。。。");if(type == 1){progressDialog = new ProgressDialog(mContext);progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//                            progressDialog.setMax(100);
//                            progressDialog.setIndeterminate(false);progressDialog.setCancelable(false);progressDialog.show();}}@Overridepublic void onSuccess(Response<File> response) {LogUtils.e("下载完成");LogUtils.e("response.body()==" + response.body());if(type == 0){//zLoadingDialog.dismiss();//openPDF(response.body());//打开PDF文件//Bundle bundle = new Bundle();//bundle.putString("pdfUrl", response.body().toString());//startActivity(PDFViewActivity.class, bundle);}else {ToastUtils.showLong(destFileName + "下载完成");
//                            progressDialog.dismiss();DownTimer();}}@Overridepublic void onError(Response<File> response) {super.onError(response);//zLoadingDialog.dismiss();ToastUtils.showLong("下载出错");progressDialog.dismiss();}@Overridepublic void downloadProgress(Progress progress) {super.downloadProgress(progress);Log.e("=========:", String.valueOf(progress.fraction));Message msg = handler.obtainMessage();msg.what = 1;msg.arg1 = (int) progress.fraction * 100;handler.sendMessage(msg);}});}private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case 1://进度条的值int i = msg.arg1;progressDialog.setProgress(i);}
//            if (msg.arg1 == 100) {
//                //ToastUtils.showLong("文件下载成功");
//                progressDialog.dismiss();
//            }}};/*** 倒计时*/private void DownTimer(){/*** CountDownTimer timer = new CountDownTimer(3000, 1000)中,* 第一个参数表示总时间,第二个参数表示间隔时间。* 意思就是每隔一秒会回调一次方法onTick,然后1秒之后会回调onFinish方法。*/ CountDownTimer timer = new CountDownTimer(1000, 1000) {public void onTick(long millisUntilFinished) {
//                txt.setText("倒计时" + millisUntilFinished / 1000 + "秒");}public void onFinish() {progressDialog.dismiss();}};//调用 CountDownTimer 对象的 start() 方法开始倒计时,也不涉及到线程处理timer.start();}

要引用的控件

//网络加载框架
implementation 'com.lzy.net:okgo:3.0.4'
//工具类
implementation 'com.blankj:utilcodex:1.31.0'

Android URL通过OkGo下载pdf或docx到本地相关推荐

  1. java实现从url路径中下载pdf文档到本地

    import java.io.*; import java.net.*;public class DownloadPdf {/*** 从网络Url中下载文件* @param urlStr pdf网页的 ...

  2. java实现通过url实现浏览器下载pdf文件

    java实现通过url实现浏览器下载pdf文件 // 下载pdf文件工具类 public static void toDownload(HttpServletRequest request, Http ...

  3. PHP ajax 远程下载PDF文件保存在本地服务器

    在一些时候我们想ajax方式来保存一些PDF文件,尤其是它放在远程服务器上,并且是保存在我们自己的服务器上存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了PHP 远程下载PDF文件保 ...

  4. java漫画下载_Java IO流 根据 输入url地址 爬虫下载漫画图片 保存到本地硬盘

    package com.yaimer.test; import java.io.*; import java.net.HttpURLConnection; import java.net.Malfor ...

  5. php下载pdf并保存图片大小,php根据URL下载图片、压缩包、pdf等远程文件到本地

    码农公社  210.net.cn  210= 1024  10月24日一个重要的节日--码农(程序员)节 1.此法可下载图片.压缩包.pdf,理论上所有类型的文件都可以下载到本地.^_^ //参数说明 ...

  6. android okgo跳过https验证,okgo下载文件,apk安装适配android7.08.0

    本文基于OKGO3.0.4版本编写 首先导入依赖 implementation 'com.lzy.net:okgo:3.0.4' 一.okgo跳过https验证 1.导入自定义SSLSocketCli ...

  7. android phone电脑驱动下载,全机型Android Phone驱动及安装教程(XP,Vista,Win7).pdf

    全机型Android Phone驱动及安装教程(XP,Vista,Win7) HTC Android( ) Android Phone 安卓 全机型 驱动及安 装教程(XP,Vista,Win7 ) ...

  8. 【Python】Python语言学习:pip工具使用知识,模型保存pickle,PDF与docx相互转换处理...

    2022年第01周. 这一周的Python语言学习,记录如下. 01 pip工具使用知识 1 pip是什么? pip是一个用Python写的用于安装和管理包的包管理系统.它连接一个叫做Python P ...

  9. 【Python】pip工具使用知识,模型保存pickle,PDF与docx相互转换处理

    2022年第01周. 这一周的Python语言学习,记录如下. 01 pip工具使用知识 1 pip是什么? pip是一个用Python写的用于安装和管理包的包管理系统.它连接一个叫做Python P ...

最新文章

  1. 人工智能的下一个道德挑战:如何对待动物
  2. eeglab中文教程系列 汇总
  3. opencv图像遍历方法速度对比
  4. asic面试题目 英伟达_英伟达一面总结
  5. BEx Query Designer中的变量及其增强
  6. SQL优化二(SQL性能调优)
  7. 每天一道LeetCode-----将数值数组按一定顺序拼接,使得拼接的结果最大
  8. CentOS 5 CentOS 6 启动流程及关键步骤
  9. ACL'21 | 弱标签的垃圾数据,也能变废为宝!
  10. 第一个MapReduce程序-------WordCount
  11. 华为Mate X供货还没跟上,Mate Xs就要来了,余承东亲自确认
  12. 粒子群优化算法(1)
  13. 第一个被赋予公明身份的机器人_机器人索菲亚扬言要消灭人类!曾经狂妄无比,现在过得如何...
  14. 前端程序员简历模板整理和下载
  15. 微信H5开发问题集锦
  16. 电脑总是意外从睡眠状态唤醒,可以找出原因然后解决
  17. 扫描到计算机怎么转换为文字,扫描仪扫描出来的图片怎么转换成文字
  18. jsLint 检查分析
  19. Ruby与kiba的初学者etl教程
  20. 场景建模都用到哪些三维软件,入门学习选择3DsMax还是Maya

热门文章

  1. 苹果A12,麒麟980与骁龙855最新处理器性能大比拼,谁将引领“处理器之王”?
  2. oracle数据库的连接和常用命令用户管理
  3. DLUTOJ 1147: 翼神的跑毒之旅(bfs)
  4. 软件目的需求开发与管理
  5. 浏览器打开控制台触发事件
  6. vision下载地址
  7. 如何查看表结构最后修改时间
  8. 用freeswitch架构自己的VOIP网络电话
  9. 操作指南:备份软件 FreeFileSync
  10. VirtualBox 两台电脑上的虚拟机之间相互通信