Android URL通过OkGo下载pdf或docx到本地
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到本地相关推荐
- java实现从url路径中下载pdf文档到本地
import java.io.*; import java.net.*;public class DownloadPdf {/*** 从网络Url中下载文件* @param urlStr pdf网页的 ...
- java实现通过url实现浏览器下载pdf文件
java实现通过url实现浏览器下载pdf文件 // 下载pdf文件工具类 public static void toDownload(HttpServletRequest request, Http ...
- PHP ajax 远程下载PDF文件保存在本地服务器
在一些时候我们想ajax方式来保存一些PDF文件,尤其是它放在远程服务器上,并且是保存在我们自己的服务器上存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了PHP 远程下载PDF文件保 ...
- java漫画下载_Java IO流 根据 输入url地址 爬虫下载漫画图片 保存到本地硬盘
package com.yaimer.test; import java.io.*; import java.net.HttpURLConnection; import java.net.Malfor ...
- php下载pdf并保存图片大小,php根据URL下载图片、压缩包、pdf等远程文件到本地
码农公社 210.net.cn 210= 1024 10月24日一个重要的节日--码农(程序员)节 1.此法可下载图片.压缩包.pdf,理论上所有类型的文件都可以下载到本地.^_^ //参数说明 ...
- android okgo跳过https验证,okgo下载文件,apk安装适配android7.08.0
本文基于OKGO3.0.4版本编写 首先导入依赖 implementation 'com.lzy.net:okgo:3.0.4' 一.okgo跳过https验证 1.导入自定义SSLSocketCli ...
- android phone电脑驱动下载,全机型Android Phone驱动及安装教程(XP,Vista,Win7).pdf
全机型Android Phone驱动及安装教程(XP,Vista,Win7) HTC Android( ) Android Phone 安卓 全机型 驱动及安 装教程(XP,Vista,Win7 ) ...
- 【Python】Python语言学习:pip工具使用知识,模型保存pickle,PDF与docx相互转换处理...
2022年第01周. 这一周的Python语言学习,记录如下. 01 pip工具使用知识 1 pip是什么? pip是一个用Python写的用于安装和管理包的包管理系统.它连接一个叫做Python P ...
- 【Python】pip工具使用知识,模型保存pickle,PDF与docx相互转换处理
2022年第01周. 这一周的Python语言学习,记录如下. 01 pip工具使用知识 1 pip是什么? pip是一个用Python写的用于安装和管理包的包管理系统.它连接一个叫做Python P ...
最新文章
- 人工智能的下一个道德挑战:如何对待动物
- eeglab中文教程系列 汇总
- opencv图像遍历方法速度对比
- asic面试题目 英伟达_英伟达一面总结
- BEx Query Designer中的变量及其增强
- SQL优化二(SQL性能调优)
- 每天一道LeetCode-----将数值数组按一定顺序拼接,使得拼接的结果最大
- CentOS 5 CentOS 6 启动流程及关键步骤
- ACL'21 | 弱标签的垃圾数据,也能变废为宝!
- 第一个MapReduce程序-------WordCount
- 华为Mate X供货还没跟上,Mate Xs就要来了,余承东亲自确认
- 粒子群优化算法(1)
- 第一个被赋予公明身份的机器人_机器人索菲亚扬言要消灭人类!曾经狂妄无比,现在过得如何...
- 前端程序员简历模板整理和下载
- 微信H5开发问题集锦
- 电脑总是意外从睡眠状态唤醒,可以找出原因然后解决
- 扫描到计算机怎么转换为文字,扫描仪扫描出来的图片怎么转换成文字
- jsLint 检查分析
- Ruby与kiba的初学者etl教程
- 场景建模都用到哪些三维软件,入门学习选择3DsMax还是Maya