DownloadActivity.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.mylove.okhttp;
  2. import android.content.Context;
  3. import android.os.Bundle;
  4. import android.support.annotation.IdRes;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ProgressBar;
  9. import com.benyanyi.loglib.Jlog;
  10. import com.benyanyi.okhttp.OkHttpUtil;
  11. import com.benyanyi.okhttp.download.DownloadInfo;
  12. import com.benyanyi.okhttp.listener.OnDownLoadObserver;
  13. /**
  14. * @author BenYanYi
  15. * @date 2018/11/29 14:59
  16. * @email ben@yanyi.red
  17. * @overview
  18. */
  19. public class DownloadActivity extends AppCompatActivity implements View.OnClickListener {
  20. private Button downloadBtn1, downloadBtn2, downloadBtn3;
  21. private Button cancelBtn1, cancelBtn2, cancelBtn3;
  22. private ProgressBar progress1, progress2, progress3;
  23. private Context mContext;
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.act_download);
  28. mContext = this;
  29. downloadBtn1 = bindView(R.id.main_btn_down1);
  30. downloadBtn2 = bindView(R.id.main_btn_down2);
  31. downloadBtn3 = bindView(R.id.main_btn_down3);
  32. cancelBtn1 = bindView(R.id.main_btn_cancel1);
  33. cancelBtn2 = bindView(R.id.main_btn_cancel2);
  34. cancelBtn3 = bindView(R.id.main_btn_cancel3);
  35. progress1 = bindView(R.id.main_progress1);
  36. progress2 = bindView(R.id.main_progress2);
  37. progress3 = bindView(R.id.main_progress3);
  38. downloadBtn1.setOnClickListener(this);
  39. downloadBtn2.setOnClickListener(this);
  40. downloadBtn3.setOnClickListener(this);
  41. cancelBtn1.setOnClickListener(this);
  42. cancelBtn2.setOnClickListener(this);
  43. cancelBtn3.setOnClickListener(this);
  44. }
  45. @Override
  46. public void onClick(View v) {
  47. String url1 = "http://www.yanyi.red/bluetooth/ios.pdf";
  48. String url2 = "https://go.ziwanyouxi.com/ad/=ITOwgjM/28092";
  49. String url3 = "https://go.ziwanyouxi.com/ad/=MDO3kjM/29783";
  50. switch (v.getId()) {
  51. case R.id.main_btn_down1:
  52. OkHttpUtil.getInstance(mContext).url(url1).download().start(new OnDownLoadObserver() {
  53. @Override
  54. public void onNext(DownloadInfo downloadInfo) {
  55. super.onNext(downloadInfo);
  56. Jlog.v(downloadInfo.getProgress());
  57. progress1.setMax((int) downloadInfo.getTotal());
  58. progress1.setProgress((int) downloadInfo.getProgress());
  59. }
  60. @Override
  61. public void onComplete() {
  62. }
  63. });
  64. break;
  65. case R.id.main_btn_down2:
  66. OkHttpUtil.getInstance(mContext).url(url2).download(".apk").start(new OnDownLoadObserver() {
  67. @Override
  68. public void onNext(DownloadInfo downloadInfo) {
  69. Jlog.v(downloadInfo.getProgress());
  70. progress2.setMax((int) downloadInfo.getTotal());
  71. progress2.setProgress((int) downloadInfo.getProgress());
  72. }
  73. @Override
  74. public void onError(Throwable e) {
  75. }
  76. @Override
  77. public void onComplete() {
  78. }
  79. });
  80. break;
  81. case R.id.main_btn_down3:
  82. OkHttpUtil.getInstance(mContext).url(url3).download(".apk").start(new OnDownLoadObserver() {
  83. @Override
  84. public void onNext(DownloadInfo downloadInfo) {
  85. Jlog.v(downloadInfo.getProgress());
  86. progress3.setMax((int) downloadInfo.getTotal());
  87. progress3.setProgress((int) downloadInfo.getProgress());
  88. }
  89. @Override
  90. public void onError(Throwable e) {
  91. }
  92. @Override
  93. public void onComplete() {
  94. }
  95. });
  96. break;
  97. case R.id.main_btn_cancel1:
  98. OkHttpUtil.getInstance(mContext).url(url1).download().cancel();
  99. break;
  100. case R.id.main_btn_cancel2:
  101. OkHttpUtil.getInstance(mContext).url(url2).download().pause();
  102. break;
  103. case R.id.main_btn_cancel3:
  104. OkHttpUtil.getInstance(mContext).url(url3).download().cancel();
  105. break;
  106. default:
  107. break;
  108. }
  109. }
  110. private <T extends View> T bindView(@IdRes int id) {
  111. View viewById = findViewById(id);
  112. return (T) viewById;
  113. }
  114. }