android 线程下载之(断点续传)

简言:

android 下载在开发中是非常常见的,下载一个视频,下载一个图片等等,我们本篇博客主要讲解 的是如何断点续传实现下载图片,apk等,开始躁动起来       

1.什么是线程

线程主要分为主线程:主要处理界面相关的事情,

                      子线程: 处理一些耗时操作

2.都有哪些线程?

线程除了Thread之外,还有asyncTask,InterService,handlerThread,

我们常见的就是AsyncTask,它主要做一些耗时的操作,耗时操作完成后更新主线程UI;

存在缺陷就是AsyncTask维护一个长度为128的线程池,当我们缓存队列满的时候,我们向线程提交任务的时候回抛出异常,

3.AsyncTask

它是一个抽象的泛型参数,有三个泛型参数:

1)params: 表示输入的参数类型

2)progress: 表示后台执行任务的进度类型

3)result: 后台任务返回结果

AsyncTask还有四个核心方法

1)onPreExecture: 在执行异步之前执行,做一些准备工作

2)doInBackground: 执行异步任务的,通过publshProgress跟新任务进度

3)onProgressUpdate: 在后台执行任务发生改变是调用

4)onPostexecture: 在后台异步任务执行之后调用,将结果返回

 

4.实现断点续传下载图片

线程已经了解了 ,我们实现断点续传(

1)首先自定义一个线程ThreadManger来集成Thread(直接上代码)

private int threadId; // 线程ID
private int startPosition; // 下载开始位置
private int endPosition; // 下载结束位置
private String fileName; // 文件名称
private String urlPath; // 文件路径
private DownloadManager.Progress progress;
private int all;

public ThreadManger(int threadId, int startPosition, int endPosition, String fileName, String urlPath, DownloadManager.Progress progress, int all) {
    this.threadId = thr
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值