diff --git a/Home.md b/Home.md deleted file mode 100644 index 391fcf0..0000000 --- a/Home.md +++ /dev/null @@ -1 +0,0 @@ -Welcome to the Aria wiki! diff --git a/常用api.md b/常用api.md new file mode 100644 index 0000000..93eff87 --- /dev/null +++ b/常用api.md @@ -0,0 +1,207 @@ +## 常用api接口 +* 任务接口 + - [停止所有任务](#停止所有正在下载的任务) + - [恢复所有停止的任务](#恢复所有停止的任务) + - [删除所有任务](#删除所有任务) + - [修改文件路径保存路径或保存文件名](#修改文件保存信息) + - [获取任务列表](#获取任务列表) + +* 功能接口 + - [设置队列最大任务数](#设置队列最大任务数) + - [设置最大下载速度](#设置最大下载速度) + - [保存扩展字段](#保存扩展字段) + - [读取扩展字段](#读取扩展字段) + - [创建最高优先级任务](#最高优先级任务) + - [对任务添加Header](#设置头参数) + - [设置请求类型](#设置请求类型) + - [删除下载记录](#删除下载记录) + - [错误日志获取或清楚](#错误日志) + +* 任务实体接口 + - [获取任务实体](#获取任务实体) + - [文件信息](#获取下载的文件大小、当前进度百分比) + - [获取下载速度](#获取当前任务的下载速度) + +## 任务接口 +### 停止所有正在下载的任务 +```java +Aria.download(this).stopAllTask(); +或 +Aria.upload(this).stopAllTask(); +``` + +### 恢复所有停止的任务 +```java +Aria.download(this).resumeAllTask(); +或 +Aria.upload(this).resumeAllTask(); +``` + +### 删除所有任务 +```java +Aria.download(this).removeAllTask(); +或 +Aria.upload(this).removeAllTask(); +``` +1、如果任务为完成,会删除没有完成的文件
+2、如果使用`removeAllTask(true)`方法,会将已经下载完成和未完成的文件删除
+3、如果是上传任务,不会删除本地的上传文件,但如果使用`removeAllTask(true)`,同样会删除本地上传文件 + +### 修改文件保存信息 +设置文件存储路径,如果需要修改新的文件名,修改路径便可。
+如:原文件路径 /mnt/sdcard/test.zip
+如果需要将test.zip改为game.zip,只需要重新设置文件路径为:/mnt/sdcard/game.zip +```java +Aria.download(this).load(DOWNLOAD_URL).setDownloadPath(newPath); +``` + +### 获取任务列表 +* 只获取单任务的任务列表 +```java +List list = Aria.download(this).getSimpleTaskList(); +``` +* 只获取任务组列表 +```java +List list = Aria.download(this).getGroupTaskList(); +``` +* 获取单任务和任务组的所有数据列表 +```java +List list = Aria.download(this).getTotleTaskList(); +``` +* 获取上传单任务列表 +```java +List list = Aria.upload(this).getSimpleTaskList(); +``` + +*** +## 功能接口 +### 设置队列最大任务数 +```java +Aria.get(this).getDownloadConfig().setMaxTaskNum(3); +或 +Aria.get(this).getUploadConfig().setMaxTaskNum(3); +``` + +### 设置最大下载速度 +制单个任务的上传、下载的最大速度(单位为 kb) +```java +Aria.download(this).setMaxSpeed(speed); +``` + +### 保存扩展字段 +有的时候,你可能希望在下载的时候存放一些自己的数据,这时你可以调用该接口将数据保存下来(如果你数据比较多,或者数据比较复杂,你可以先把数据转换为**JSON**,然后再将其存到Aria的下载实体中) +```java +Aria.download(this).load(DOWNLOAD_URL).setExtendField(str); +或 +Aria.upload(this).load(DOWNLOAD_URL).setExtendField(str); +``` + +### 读取扩展字段 +```java +Aria.download(this).load(DOWNLOAD_URL).getExtendField(); +或 +Aria.upload(this).load(DOWNLOAD_URL).getExtendField(); +``` + +### 最高优先级任务 +```java +Aria.download(this).load(DOWNLOAD_URL)`
`.setDownloadPath(PATH).setHighestPriority(); +``` +将任务设置为最高优先级任务,最高优先级任务有以下特点:
+1、在下载队列中,有且只有一个最高优先级任务
+2、最高优先级任务会一直存在,直到用户手动暂停或任务完成
+3、任务调度器不会暂停最高优先级任务
+4、用户手动暂停或任务完成后,第二次重新执行该任务,该命令将失效
+5、如果下载队列中已经满了,则会停止队尾的任务,当高优先级任务完成后,该队尾任务将自动执行
+6、把任务设置为最高优先级任务后,将自动执行任务,不需要重新调用start()启动任务 + +### 设置请求类型 +```java +Aria.download(this).load("").setRequestMode(RequestEnum.GET); +或 +Aria.upload(this).load("").setRequestMode(RequestEnum.GET); +``` + +### 删除下载记录 +* 第一种删除方式 +```java +Aria.download(this).load(url).removeRecord(); +或 +Aria.upload(this).load(url).removeRecord(); +``` +* 第二种删除方式 +```java +/** + * 删除任务记录 + * + * @param type 需要删除的任务类型,1、表示单任务下载。2、表示任务组下载。3、单任务上传 + * @param key 下载为保存路径、任务组为任务组名、上传为上传文件路径 + */ +Aria.get(this).delRecord(type, key); +``` + +### 错误日志 +* 从数据库中获取错误日志列表 +```java +List list = Aria.get(this). getErrorLog(); +``` +* 清空错误日志 +```java +Aria.get(this).cleanLog() +``` + +*** +## 任务实体接口 +### 获取任务实体 +* HTTP\FTP单任务下载实体 +```java +DownloadEntity entity = Aria.download(this).getDownloadEntity(DOWNLOAD_URL); +``` +* HTTP任务组\FTP文件夹实体 +```java +DownloadGroupTaskEntity entity = Aria.download(this).getDownloadGroupTask(mUrls); +``` +* HTTP\FTP单任务上传实体 +```java +UploadEntity entity = Aria.upload(this).getUploadEntity(FILE_PATH); +``` + +### 获取下载的文件大小、当前进度百分比 +同样的,你也可以在DownloadTask对象中获取下载的文件大小 +```java +@Override public void onTaskRunning(DownloadTask task) { + //获取任务文件实体(里面包含文件名,下载地址,保存路径等信息) + DownloadEntity entity = task.getEntity(); +  //获取文件大小 + long fileSize = task.getFileSize(); + //获取单位转换后的文件大小 + String fileSize1 = task.getConvertFileSize(); + //当前进度百分比 + int percent = task.getPercent(); +} +``` +### 获取当前任务的下载速度 +``` java +@Override public void onTaskRunning(DownloadTask task) { + //如果你打开了速度单位转换配置,将可以通过以下方法获取带单位的下载速度,如:1 mb/s + String convertSpeed = task.getConvertSpeed(); + //如果你有自己的单位格式,可以通过以下方法获取原始byte长度 + long speed = task.getSpeed(); +} +``` + +### 设置头参数 +对于某些服务器,需要通过添加headler参数才能和服务器进行交互,如果你需要对任务增加header支持,那么你可以 +* 添加一个headler参数 + ```java + Aria.download(this) + .load(DOWNLOAD_URL, true) + .addHeader("key", "value"); + ``` +* 添加一组headler参数 + ```java + Aria.download(this) + .load(DOWNLOAD_URL, true) + .addHeaders(headlerMap); + ``` +