美文网首页
xutils的来实现断点续传

xutils的来实现断点续传

作者: yanghanbin_it | 来源:发表于2017-06-08 15:00 被阅读0次

1.引入xutils的jar包 xUtils-2.6.14.jar2.如果是android 6.0还需要添加aphace httpclient的jar包 org.apache.http.legacy.jar

public class MainActivity extends Activity {

    private TextView tv;
    private ProgressBar pb;
    private TextView tvProgress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv = (TextView) findViewById(R.id.tv_failure);

        pb = (ProgressBar) findViewById(R.id.pb);

        tvProgress = (TextView) findViewById(R.id.tv_progress);
    }

    public void startDown(View v) {
        HttpUtils http = new HttpUtils();
        String fileName = "pdf.exe";
        String path = "http://192.168.1.103:8080/android/" + fileName;

        HttpHandler handler = http.download(path, // 下载地址
                Environment.getExternalStorageDirectory() + File.separator + fileName, // 保存路径
                true, // 是否支持断点续传
                true, // 如果从请求返回信息中获取到文件名,下载完成后自动重命名。
                new RequestCallBack<File>() {

                    @Override
                    public void onLoading(long total, long current,
                            boolean isUploading) {
                        super.onLoading(total, current, isUploading);
                        pb.setMax((int) total);
                        pb.setProgress((int) current);
                        tvProgress.setText((current * 100 / total ) + "%");
                    }

                    @Override
                    public void onSuccess(ResponseInfo<File> responseInfo) {
                        File file = (File) responseInfo.result;
                        Toast.makeText(MainActivity.this, file.getPath(), 0)
                                .show();
                    }

                    @Override
                    public void onFailure(HttpException error, String msg) {
                        tv.setText(msg);
                    }
                });
    }
}

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.multidown.MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="startDown"
        android:text="开始下载" />

    <TextView
        android:id="@+id/tv_failure"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ProgressBar
        android:id="@+id/pb"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/tv_progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>  

效果图:
[图片上传中。。。(1)]

相关文章

  • xutils的来实现断点续传

    1.引入xutils的jar包 xUtils-2.6.14.jar2.如果是android 6.0还需要添加aph...

  • xUtils3 源码解析 -- 实现断点续传

    在通过网络进行图片或者文件的下载时,为保证内存和磁盘资源的合理利用,我们一般会对此次请求进行断点续传。断点续传,顾...

  • 动态代理—IOC框架

    第一个部分- XUtils框架2.0实现:事件注入、资源注入、保存数据注入1、注入事件XUtils2.0框架实现 ...

  • 多线程下载与断点续传

    多线程下载和断点续传用HttpUrlConnection和OkHttp都可以实现这里说的是用OkHttp来实现的以...

  • 从无到有 项目中用到的封装网络框架(一)

    一个基于Xutils3的网络封装 用过xutils的朋友都知道网络请求的回调是在实现了Callback.Commo...

  • Okhttp多线程断点续传

    目录 1、断点续传相关定义2、多线程下载实现方案 1、断点续传相关定义 1.1、断点续传: 记录上次下载的位置,下...

  • 网络设计之xutils网络库

    xutils官方这是xutils 官方 这是xutils 3 的 官方解释 xUtils 包含了orm, http...

  • IOS 断点续传原理浅析(第一篇)

    断点续传概述: 断点续传就是从文件上次中断的地方开始重新下载或上传数据,当下载大文件的时候,如果没有实现断点续传功...

  • iOS-16 断点续传 下载

    断点续传概述: 断点续传就是从文件上次中断的地方开始重新下载或上传数据,当下载大文件的时候,如果没有实现断点续传功...

  • Android断点下载小结

    前言 断点续传是一个很传统的话题;现在但凡包含下载功能的软件,大部分都会有断点续传的功能;因此对于断点续传的实现,...

网友评论

      本文标题:xutils的来实现断点续传

      本文链接:https://www.haomeiwen.com/subject/ffftqxtx.html