public final class DLManager extends Object
dlStart(java.lang.String)方法即可
停止某个下载任务需要调用dlStop(java.lang.String)方法 停止下载任务仅仅会将对应下载任务移除下载队列而不删除相应数据 下次启动相同任务时会自动根据上一次停止时保存的数据重新开始下载
取消某个下载任务需要调用dlCancel(java.lang.String)方法 取消下载任务会删除掉相应的本地数据库数据但文件不会被删除
相同url的下载任务视为相同任务
Use dlStart(java.lang.String) for a new download task.
Use dlStop(java.lang.String) to stop a download task base on url.
Use dlCancel(java.lang.String) to cancel a download task base on url.
By the way, the difference between dlStop(java.lang.String) and dlCancel(java.lang.String) is whether the data in database would be deleted or not,
for example, the state of download like local file and data in database will be save when you use dlStop(java.lang.String) stop a download task,
if you use dlCancel(java.lang.String) cancel a download task, anything related to download task would be deleted., AigeStudio 2015-05-26
对不支持断点下载的文件直接使用单线程下载 该操作将不会插入数据库
对转向地址进行解析
更改下载线程分配逻辑
DLManager will download with single thread if server does not support break-point, and it will not insert to database
Support url redirection.
Change download thread size dispath., AigeStudio 2015-05-29
修改域名重定向后无法多线程下载问题
修改域名重定向后无法暂停问题
Bugfix:can not start multi-threads to download file when we in url redirection.
Bugfix:can not stop a download task when we in url redirection., zhangchi 2015-10-13
Bugfix:修改多次触发任务时的并发问题,防止同时触发多个相同的下载任务;修改任务队列为线程安全模式;
修改多线程任务的线程数量设置机制,每个任务可以自定义设置下载线程数量;通过同构方法dlStart(String url, String dirPath, DLTaskListener listener,int threadNum);
添加日志开关及日志记录,开关方法为setDebugEnable,日志TAG为DLManager;方便调试;, AigeStudio 2015-10-23
修复大部分已知Bug
优化代码逻辑适应更多不同的下载情况
完善错误码机制,使用不同的错误码标识不同错误的发生,详情请参见DLError
不再判断网络类型只会对是否联网做一个简单的判断
修改setDebugEnable(boolean)方法
新增多个不同的dlStart(java.lang.String)方法便于回调
新增setMaxTask(int)方法限制多个下载任务的并发数, AigeStudio 2015-11-05
修复较大文件下载暂停后无法续传问题
修复下载无法取消问题
优化线程分配
优化下载逻辑提升执行效率| 限定符和类型 | 方法和说明 |
|---|---|
void |
dlCancel(String url)
根据Url取消一个下载任务
Cancel a download task according to url.
|
void |
dlStart(String url) |
void |
dlStart(String url,
IDListener listener) |
void |
dlStart(String url,
String dir,
IDListener listener) |
void |
dlStart(String url,
String dir,
String name,
IDListener listener) |
void |
dlStart(String url,
String dir,
String name,
List<DLHeader> headers,
IDListener listener)
开始一个下载任务
Start a download task.
|
void |
dlStop(String url)
根据Url暂停一个下载任务
Stop a download task according to url.
|
static DLManager |
getInstance(android.content.Context context) |
DLManager |
setDebugEnable(boolean isDebug)
设置是否开启Debug模式 默认不开启
Is debug mode, default is false.
|
DLManager |
setMaxTask(int maxTask)
设置并发下载任务最大值
The max task of DLManager.
|
public static DLManager getInstance(android.content.Context context)
public DLManager setMaxTask(int maxTask)
maxTask - ...public DLManager setDebugEnable(boolean isDebug)
isDebug - ...public void dlStart(String url)
public void dlStart(String url, IDListener listener)
public void dlStart(String url, String dir, IDListener listener)
public void dlStart(String url, String dir, String name, IDListener listener)
public void dlStart(String url, String dir, String name, List<DLHeader> headers, IDListener listener)
url - 文件下载地址
Download url.dir - 文件下载后保存的目录地址,该值为空时会默认使用应用的文件缓存目录作为保存目录地址
The directory of download file. This parameter can be null, in this case we
will use cache dir of app for download path.name - 文件名,文件名需要包括文件扩展名,类似“AigeStudio.apk”的格式。该值可为空,为空时将由程
序决定文件名。
Name of download file, include extension like "AigeStudio.apk". This
parameter can be null, in this case the file name will be decided by program.headers - 请求头参数
Request header of http.listener - 下载监听器
Listener of download task.public void dlStop(String url)
url - 文件下载地址
Download url.public void dlCancel(String url)
url - 文件下载地址
Download url.