zoukankan      html  css  js  c++  java
  • okhttp下载文件并直接显示到手机上

    最近天气有点冷,吹牛逼之前,先热个身O(∩_∩)O哈哈~,

     

    整理了之前写的方法,重新修改了文件下载demo,新demo从服务器下载文件地址(以图片和pdf文件为例):稍后附上

    https://download.csdn.net/download/qq_35702985/11688476

    如果调用okhttp工具类下载服务器文件报错

    请按以下步骤检查:

    1.动态申请权限,同时AndroidManifest.xml的application中添加

    android:usesCleartextTraffic="true"

    2.下载文件函数(downFile)在线程中调用

    3.downFile的第二个参数文件路径写成相对路径(Environment.getExternalStorageDirectory() + "/download/")

     

    相关代码:

    public void checkPemission() {
    Log.e("TAG", "进入了checkPemission()");
    int hasWritePermission = PermissionChecker.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    if (hasWritePermission != PermissionChecker.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 9);
    } else {
    new Thread() {
    @Override
    public void run() {
    super.run();
    downFile(urlString);
    }
    }.start();
    }
    }

    /**
    * 文件下载
    */
    private void downFile(String url) {
    DownloadUtil.get().download(url, Environment.getExternalStorageDirectory() + "/pdf/", "test.pdf",
    new DownloadUtil.OnDownloadListener() {
    @Override
    public void onDownloadSuccess(File file) {

    openPDF(file);//打开PDF文件
    }

    @Override
    public void onDownloading(int progress) {

    }

    @Override
    public void onDownloadFailed(Exception e) {
    //下载异常进行相关提示操作

    }
    });
    }


    源码地址: 稍后附上 https://download.csdn.net/download/qq_35702985/11643721

  • 相关阅读:
    [USACO08FEB]酒店Hotel 线段树 BZOJ 1593
    有趣的数 zoj 月赛
    [ZJOI2008]生日聚会 BZOJ1037 dp
    借教室 差分+二分答案
    HackerRank
    旅行计划 记忆化搜索
    灾后重建 Floyd
    [USACO10OCT]湖计数Lake Counting 联通块
    [TJOI2013]循环格 费用流 BZOJ3171
    高斯消元
  • 原文地址:https://www.cnblogs.com/dmrbell/p/11434260.html
Copyright © 2011-2022 走看看