zoukankan      html  css  js  c++  java
  • 使用第三方框架xUtils2进行下载

    AndroidManifest.xml中添加权限

     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.msi.xutils.MainActivity">
    
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下载"
            android:onClick="click"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_failure"/>
    
        <ProgressBar
            android:id="@+id/pb_download"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@android:style/Widget.ProgressBar.Horizontal" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_progressBar"/>
    </LinearLayout>
    

      

    MainActivity代码

    package com.example.msi.xutils;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.lidroid.xutils.HttpUtils;
    import com.lidroid.xutils.exception.HttpException;
    import com.lidroid.xutils.http.ResponseInfo;
    import com.lidroid.xutils.http.callback.RequestCallBack;
    
    import java.io.File;
    
    public class MainActivity extends AppCompatActivity {
    
    
        private TextView tv_failure;
        private TextView tv_pargressBar;
        private ProgressBar pb_download;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv_failure = (TextView) findViewById(R.id.tv_failure);
            tv_pargressBar = (TextView) findViewById(R.id.tv_progressBar);
            pb_download = (ProgressBar) findViewById(R.id.pb_download);
        }
    
    
        public void click(View v){
            HttpUtils http = new HttpUtils();
            String fileName = "TeamViewer.exe";
            String webPath = "http://172.17.11.161:8080/" + fileName;
    
    
            http.download(webPath,//下载地址
                    "sdcard/TeamViewer.exe",//文件保存路径
                    true,//断点续传
                    true, //自动重命名
                    new RequestCallBack<File>() {
    
                        @Override
                        public void onSuccess(ResponseInfo<File> responseInfo) {
                            Toast.makeText(MainActivity.this,responseInfo.result.getPath(),Toast.LENGTH_SHORT).show();
                        }
    
                        @Override
                        public void onLoading(long total, long current, boolean isUploading) {
                            super.onLoading(total, current, isUploading);
                            tv_pargressBar.setText(current * 100 /total + "%");
                            pb_download.setMax((int)total);
                            pb_download.setProgress((int)current);
                        }
    
                        @Override
                        public void onFailure(HttpException e, String s) {
                            tv_failure.setText(s);
                        }
    
            });
        }
    }
    

      

  • 相关阅读:
    C#String地址、拼接性能学习
    MySql触发器实现数据同步学习
    京东手机销售价格抓取
    判断是否是数字
    Ftp上传下载
    外部表不是预期的格式。
    C#获取带汉字的字符串长度
    C# Excel导入Access
    C# string.Format()格式
    规则“Microsoft Visual Studio 2008 的早期版本”失败。此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。
  • 原文地址:https://www.cnblogs.com/mlsq2015/p/5576164.html
Copyright © 2011-2022 走看看