From 615f0fab905b9ab1bf5f729747b5494354ae6bf3 Mon Sep 17 00:00:00 2001
From: laoyuyu <511455842@QQ.com>
Date: Thu, 31 Aug 2017 15:08:24 +0800
Subject: [PATCH] Updated Home (markdown)
---
Home.md | 1 -
常用api.md | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 207 insertions(+), 1 deletion(-)
delete mode 100644 Home.md
create mode 100644 常用api.md
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);
+ ```
+