DownloadActivity.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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.okhttp.download.BaseDownLoadObserver;
  10. import com.benyanyi.okhttp.download.DownloadInfo;
  11. import com.benyanyi.okhttp.download.DownloadManager;
  12. import com.mylove.loglib.JLog;
  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 String url1 = "http://www.yanyi.red/bluetooth/ios.pdf";
  24. private String url2 = "http://www.yanyi.red/bluetooth/dectector/dectector.apk";
  25. private String url3 = "http://www.yanyi.red/bluetooth/dectector/dfu_pkg1119.zip";
  26. private Context mContext;
  27. @Override
  28. protected void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.act_download);
  31. mContext = this;
  32. // downloadBtn1 = bindView(R.id.main_btn_down1);
  33. // downloadBtn2 = bindView(R.id.main_btn_down2);
  34. // downloadBtn3 = bindView(R.id.main_btn_down3);
  35. //
  36. // cancelBtn1 = bindView(R.id.main_btn_cancel1);
  37. // cancelBtn2 = bindView(R.id.main_btn_cancel2);
  38. // cancelBtn3 = bindView(R.id.main_btn_cancel3);
  39. //
  40. // progress1 = bindView(R.id.main_progress1);
  41. // progress2 = bindView(R.id.main_progress2);
  42. // progress3 = bindView(R.id.main_progress3);
  43. //
  44. // downloadBtn1.setOnClickListener(this);
  45. // downloadBtn2.setOnClickListener(this);
  46. // downloadBtn3.setOnClickListener(this);
  47. //
  48. // cancelBtn1.setOnClickListener(this);
  49. // cancelBtn2.setOnClickListener(this);
  50. // cancelBtn3.setOnClickListener(this);
  51. }
  52. @Override
  53. public void onClick(View v) {
  54. switch (v.getId()) {
  55. case R.id.main_btn_down1:
  56. DownloadManager.getInstance(mContext).download(url1, new BaseDownLoadObserver() {
  57. @Override
  58. public void onNext(DownloadInfo downloadInfo) {
  59. super.onNext(downloadInfo);
  60. JLog.v(downloadInfo.getProgress());
  61. progress1.setMax((int) downloadInfo.getTotal());
  62. progress1.setProgress((int) downloadInfo.getProgress());
  63. }
  64. @Override
  65. public void onComplete() {
  66. }
  67. });
  68. break;
  69. case R.id.main_btn_down2:
  70. DownloadManager.getInstance(mContext).download(url2, new BaseDownLoadObserver() {
  71. @Override
  72. public void onNext(DownloadInfo downloadInfo) {
  73. JLog.v(downloadInfo.getProgress());
  74. }
  75. @Override
  76. public void onError(Throwable e) {
  77. }
  78. @Override
  79. public void onComplete() {
  80. }
  81. });
  82. break;
  83. case R.id.main_btn_down3:
  84. DownloadManager.getInstance(mContext).download(url3, new BaseDownLoadObserver() {
  85. @Override
  86. public void onNext(DownloadInfo downloadInfo) {
  87. JLog.v(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. DownloadManager.getInstance(mContext).cancel(url1);
  99. break;
  100. case R.id.main_btn_cancel2:
  101. DownloadManager.getInstance(mContext).cancel(url2);
  102. break;
  103. case R.id.main_btn_cancel3:
  104. DownloadManager.getInstance(mContext).cancel(url3);
  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. }