package com.mylove.okhttp; import android.content.Context; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; import com.benyanyi.loglib.Jlog; import com.benyanyi.okhttp.OkHttpUtil; import com.benyanyi.okhttp.download.DownloadInfo; import com.benyanyi.okhttp.listener.OnDownLoadObserver; /** * @author BenYanYi * @date 2018/11/29 14:59 * @email ben@yanyi.red * @overview */ public class DownloadActivity extends AppCompatActivity implements View.OnClickListener { private Button downloadBtn1, downloadBtn2, downloadBtn3; private Button cancelBtn1, cancelBtn2, cancelBtn3; private ProgressBar progress1, progress2, progress3; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act_download); mContext = this; downloadBtn1 = bindView(R.id.main_btn_down1); downloadBtn2 = bindView(R.id.main_btn_down2); downloadBtn3 = bindView(R.id.main_btn_down3); cancelBtn1 = bindView(R.id.main_btn_cancel1); cancelBtn2 = bindView(R.id.main_btn_cancel2); cancelBtn3 = bindView(R.id.main_btn_cancel3); progress1 = bindView(R.id.main_progress1); progress2 = bindView(R.id.main_progress2); progress3 = bindView(R.id.main_progress3); downloadBtn1.setOnClickListener(this); downloadBtn2.setOnClickListener(this); downloadBtn3.setOnClickListener(this); cancelBtn1.setOnClickListener(this); cancelBtn2.setOnClickListener(this); cancelBtn3.setOnClickListener(this); } @Override public void onClick(View v) { String url1 = "http://www.yanyi.red/bluetooth/ios.pdf"; String url2 = "https://go.ziwanyouxi.com/ad/=ITOwgjM/28092"; String url3 = "https://go.ziwanyouxi.com/ad/=MDO3kjM/29783"; switch (v.getId()) { case R.id.main_btn_down1: OkHttpUtil.getInstance(mContext).url(url1).download().start(new OnDownLoadObserver() { @Override public void onNext(DownloadInfo downloadInfo) { super.onNext(downloadInfo); Jlog.v(downloadInfo.getProgress()); progress1.setMax((int) downloadInfo.getTotal()); progress1.setProgress((int) downloadInfo.getProgress()); } @Override public void onComplete() { } }); break; case R.id.main_btn_down2: OkHttpUtil.getInstance(mContext).url(url2).download(".apk").start(new OnDownLoadObserver() { @Override public void onNext(DownloadInfo downloadInfo) { Jlog.v(downloadInfo.getProgress()); progress2.setMax((int) downloadInfo.getTotal()); progress2.setProgress((int) downloadInfo.getProgress()); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); break; case R.id.main_btn_down3: OkHttpUtil.getInstance(mContext).url(url3).download(".apk").start(new OnDownLoadObserver() { @Override public void onNext(DownloadInfo downloadInfo) { Jlog.v(downloadInfo.getProgress()); progress3.setMax((int) downloadInfo.getTotal()); progress3.setProgress((int) downloadInfo.getProgress()); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); break; case R.id.main_btn_cancel1: OkHttpUtil.getInstance(mContext).url(url1).download().cancel(); break; case R.id.main_btn_cancel2: OkHttpUtil.getInstance(mContext).url(url2).download().pause(); break; case R.id.main_btn_cancel3: OkHttpUtil.getInstance(mContext).url(url3).download().cancel(); break; default: break; } } private T bindView(@IdRes int id) { View viewById = findViewById(id); return (T) viewById; } }