多线程下载
来源:互联网 发布:邮票淘宝 编辑:程序博客网 时间:2024/05/29 09:12
package bwie.com.xiazi;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
import rx.Subscriber;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import zlc.season.rxdownload.DownloadStatus;
import zlc.season.rxdownload.RxDownload;
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;private Button kaishi;private Button zanting;private Subscription subscription;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressBar = (ProgressBar) findViewById(R.id.progressBar); kaishi = (Button) findViewById(R.id.kaishi); zanting = (Button) findViewById(R.id.zanting); kaishi.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { subscription = RxDownload.getInstance() // .defaultSavePath(defaultSavePath)//设置默认的下载路径 .maxThread(10) //设置最大线程 .maxRetryCount(10) //设置下载失败重试次数 .download("http://mp4.vjshi.com/2013-05-28/2013052815051372.mp4", "weixin.mp4", null) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<DownloadStatus>() { @Override public void onCompleted() { Toast.makeText(MainActivity.this, "下载成功", Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable e) { } @Override public void onNext(final DownloadStatus status) { long totalSize = status.getTotalSize(); long downloadSize = status.getDownloadSize(); int result; if (totalSize == 0L) { result = 0; } else { result = (int) (downloadSize * 100 / totalSize); } Log.e("result", result + ""); // int i = Integer.parseInt(status.getFormatStatusString()); // Log.e("下载量", i + ""); progressBar.setProgress(result); } }); } }); zanting.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //...//取消订阅, 即可暂停下载, 若服务端不支持断点续传,下一次下载会重新下载,反之会继续下载 if (subscription != null && !subscription.isUnsubscribed()) { subscription.unsubscribe(); } } });}
}
阅读全文
0 0
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- Kendo UI grid数据聚合实例
- 从文件系统读取字典文件活和字典文件保存到文件
- 优达(Udacity)-机器学习基础-数据集与问题(安然数据集)
- POJ 1584(判断凸包+点和凸多边形关系+圆和凸多边形关系)
- 想成为linux大牛,却还在打王者荣耀?怎么办
- 多线程下载
- 2017常用管道仪表流程图符号集合
- 1127: 矩阵乘积
- 娓娓道来c指针 (1)指针就是地址
- tp3.2 setInc返回值是
- Eclipse中下载并使用Mybatis
- 领英:经济图谱在中国,为人才就业勾画新版图
- JAVA 8 In Action 读书笔记 (三) : Collect In Stream
- 1128: 课程平均分