OkHttp下载文件

来源:互联网 发布:淘宝店装修收费吗 编辑:程序博客网 时间:2024/06/06 18:22
package com.exbawei.liteli.myokhttpprogressbar;import android.content.Intent;import android.net.Uri;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ProgressBar;import com.zhy.http.okhttp.OkHttpUtils;import com.zhy.http.okhttp.callback.FileCallBack;import com.zhy.http.okhttp.callback.StringCallback;import java.io.File;import okhttp3.Call;public class MainActivity extends AppCompatActivity {    private File file;    private ProgressBar bar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bar = (ProgressBar) findViewById(R.id.progress);        OkHttpUtils.get().url("http://huixinguiyu.cn/Assets/js/newsnew.js").build().execute(new StringCallback() {            @Override            public void onError(Call call, Exception e, int id) {            }            @Override            public void onResponse(String response, int id) {             String string= response.toString();            }        });        file = new File(Environment.getExternalStorageDirectory().getPath());    }    public void bbb(View view){      bar.setVisibility(View.VISIBLE);        OkHttpUtils.get().url("http://p.gdown.baidu.com/e96035c05cfbd104bc614338d32e4998cf247dcb6b1d2f55352c28c485a21dc66ba8b52319123d749562b790fc47aaaee5da5908708263ce0b1692be82a460934eed49f570b9c59411293bb6bbc5eaa6b5d33a12fa8942809ab5006d401340245313c56321cf811b955d8594032edf172207325d3d4fe11fd2a043066ab78e7def5069cf551eefddc1250aa4f4faf971cddb65081a3004655f51e0adfa56339673d241fd87d214181c62654fcf4ec14746c495a66bbafe057a887ec1a8741de6fec48d8ed0e75ab7e22a9538a70aeb0d590439066f50f5505137d99b62a87fa5")                .build()                .execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(),"shf.apk") {            @Override            public void onError(Call call, Exception e, int id) {            }                    @Override                    public void inProgress(float progress, long total, int id) {                        bar.setProgress((int) (100*progress));                    }                    @Override            public void onResponse(File response, int id) {        String string= response.toString();                        if (bar.getProgress()==bar.getMax()) {                            Intent intent = new Intent(Intent.ACTION_VIEW);                            intent.setDataAndType(Uri.fromFile(response),"application/vnd.android.package-archive");                       startActivity(intent);                        }            }        });    }}
compile 'com.zhy:okhttputils:2.6.2'

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

 
原创粉丝点击