android - 关于asynchttp网络协议的问题

 虔州小小编_590 发布于 2022-11-01 21:25

相信大部分开发者都用过asynchttp框架,关于新版本的网络连接问题,一直有一个疑问,就是这个封装好的框架的中,如何获取上传文件或者下载文件的进度?

2 个回答
  • 菜鸟,也没有用过asynchttp,但是用okhttp搞过传递下载进度,也许有点参考价值?

    FileOutputStream out = new FileOutputStream(fileName);
    InputStream in = response.body().byteStream();//从reponse中获得输入流
    byte[] buffs = new byte[20460];//写入缓冲区
    int count;//从输入流写入缓冲区的大小
    int size = Integer.valueOf(length);//待下载文件总大小
    long per;//下载百分比
    long total = 0;//累计写入文件大小
    long time = SystemClock.elapsedRealtime();
    while ((count = in.read(buffs)) != -1) {
        out.write(buffs, 0, count);
        total += count;
        per = 100 * total / size;
        if (callback != null && (SystemClock.elapsedRealtime() - time) > 500) {
            callback.getDownloadPercentage((int) per);//回调方法,每隔500毫秒更新下载百分比一次,千万不要更新太频繁,主线程会卡住的
            Log.d("per", per + "");
            time = SystemClock.elapsedRealtime();
        }
    }
    2022-11-02 18:40 回答
  • 求大神解答一下下

    2022-11-02 18:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有