Updated Aria基本使用 (markdown)
166
Aria基本使用.md
166
Aria基本使用.md
@ -1,42 +1,150 @@
|
||||
## 使用Aria
|
||||
### 基本使用
|
||||
***
|
||||
* [HTTP单任务下载](#HTTP单任务下载)
|
||||
* [HTTP任务组下载](#HTTP任务组下载)
|
||||
* [HTTP上传](#HTTP单任务上传)
|
||||
* [FTP下载](#FTP下载)
|
||||
* [FTP文件夹下载](#FTP文件夹下载)
|
||||
* [FTP上传](#FTP单文件上传)
|
||||
|
||||
### HTTP单任务下载
|
||||
* 下载\恢复下载
|
||||
|
||||
例子为单任务下载,只需要很简单的代码,便可以实现下载功能
|
||||
```java
|
||||
Aria.download(this)
|
||||
.load(DOWNLOAD_URL) //读取下载地址
|
||||
.setDownloadPath(DOWNLOAD_PATH) //设置文件保存的完整路径
|
||||
.setDownloadPath(DOWNLOAD_PATH) //设置文件保存的完整路径
|
||||
.start(); //启动下载
|
||||
```
|
||||
* 暂停
|
||||
|
||||
### 任务状态的获取
|
||||
基于解耦合的考虑,Aria的下载功能是和状态获取相分离的,状态的获取并不会集成到链式代码中,但是Aria提供了另一种更简单更灵活的方案。
|
||||
通过注解,你可以很容易获取任务的所有状态。
|
||||
```java
|
||||
Aria.download(this).load(DOWNLOAD_URL).pause();
|
||||
```
|
||||
|
||||
1. 将对象注册到Aria
|
||||
```java
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Aria.download(this).register();
|
||||
}
|
||||
* 取消下载
|
||||
|
||||
```java
|
||||
Aria.download(this).load(DOWNLOAD_URL).cancel();
|
||||
```
|
||||
|
||||
### HTTP任务组下载
|
||||
任务组的下载和普通任务的下载基本上差不多,区别在于,任务组下载不需要对每一个子任务设置保存路径,**但是需要设置任务组保存文件夹路径,所有子任务都保存在该文件夹下**
|
||||
|
||||
* 下载\恢复下载
|
||||
|
||||
```java
|
||||
Aria.download(this)
|
||||
.load(urls) //设置一主任务,参数为List<String>
|
||||
.setDownloadDirPath(groupDirPath) //设置任务组的文件夹路径
|
||||
/**
|
||||
* 任务组总任务大小,任务组是一个抽象的概念,没有真实的数据实体,任务组的大小是Aria动态获取子任务大小相加而得到的,
|
||||
* 如果你知道当前任务组总大小,你也可以调用该方法给任务组设置大小
|
||||
*
|
||||
* 为了更好的用户体验,建议直接设置任务组文件大小
|
||||
*/
|
||||
.setFileSize(fileSize)
|
||||
.start(); //启动下载
|
||||
```
|
||||
* 暂停
|
||||
|
||||
```java
|
||||
Aria.download(this).load(urls).pause();
|
||||
```
|
||||
|
||||
* 取消下载
|
||||
|
||||
```java
|
||||
Aria.download(this).load(urls).cancel();
|
||||
```
|
||||
|
||||
### HTTP单任务上传
|
||||
* 添加任务(只添加,不上传)
|
||||
|
||||
```java
|
||||
Aria.upload(this)
|
||||
.load(filePath) //文件路径
|
||||
.setUploadUrl(uploadUrl) //上传路径
|
||||
.setAttachment(fileKey) //服务器读取文件的key
|
||||
.add();
|
||||
```
|
||||
|
||||
* 上传
|
||||
|
||||
```java
|
||||
Aria.upload(this)
|
||||
.load(filePath) //文件路径
|
||||
.setUploadUrl(uploadUrl) //上传路径
|
||||
.setAttachment(fileKey) //服务器读取文件的key
|
||||
.start();
|
||||
```
|
||||
* 取消上传
|
||||
|
||||
```java
|
||||
Aria.upload(this).load(filePath).cancel();
|
||||
```
|
||||
|
||||
### FTP下载
|
||||
* 开始\恢复下载
|
||||
```java
|
||||
Aria.download(this)
|
||||
.loadFtp("ftp://172.18.104.129:21/haha/large.rar")
|
||||
.login("lao", "123456") //登录FTP服务器
|
||||
.setDownloadPath("/mnt/sdcard/") //设置文件保存文件夹
|
||||
.start();
|
||||
```
|
||||
|
||||
2. 通过注解获取任务执行状态
|
||||
* 暂停
|
||||
```java
|
||||
Aria.download(this).loadFtp(URL).stop();
|
||||
```
|
||||
|
||||
**注意:**
|
||||
- 注解回掉采用Apt的方式实现,所以,你不需要担心这会影响你机器的性能
|
||||
- 被注解的方法**不能被private修饰**
|
||||
- 被注解的方法**只能有一个参数,并且参数类型必须是`DownloadTask`或`UploadTask`或`DownloadGroupTask`**
|
||||
- 方法名可以为任意字符串
|
||||
|
||||
```java
|
||||
@Download.onTaskRunning(DOWNLOAD_URL) protected void running(DownloadTask task) {
|
||||
//在这里处理任务执行中的状态,如进度进度条的刷新
|
||||
}
|
||||
* 删除任务
|
||||
```java
|
||||
Aria.download(this).loadFtp(URL).cancel();
|
||||
```
|
||||
|
||||
@Download.onTaskComplete(DOWNLOAD_URL) void taskComplete(DownloadTask task) {
|
||||
//在这里处理任务完成的状态
|
||||
}
|
||||
```
|
||||
[更多注解使用方法](https://github.com/AriaLyy/Aria/wiki/%E6%B3%A8%E8%A7%A3%E4%BD%BF%E7%94%A8)
|
||||
### FTP文件夹下载
|
||||
* 开始\恢复下载
|
||||
|
||||
```java
|
||||
Aria.download(this)
|
||||
.loadFtpDir("ftp://172.18.104.129:21/haha/")
|
||||
.setDownloadDirPath(downloadPath)
|
||||
.login("lao", "123456")
|
||||
.start();
|
||||
```
|
||||
|
||||
* 暂停
|
||||
|
||||
```java
|
||||
Aria.download(this).loadFtpDir(dir).stop();
|
||||
```
|
||||
|
||||
* 删除任务
|
||||
|
||||
```java
|
||||
Aria.download(this).loadFtpDir(dir).cancel();
|
||||
```
|
||||
|
||||
### FTP单文件上传
|
||||
* 开始\恢复上传
|
||||
|
||||
```java
|
||||
Aria.upload(this)
|
||||
.loadFtp("/mnt/sdcard/gggg.apk") //上传文件路径
|
||||
.setUploadUrl(URL) //上传的ftp服务器地址
|
||||
.login("lao", "123456")
|
||||
.start();
|
||||
```
|
||||
|
||||
* 暂停
|
||||
|
||||
```java
|
||||
Aria.upload(this).loadFtp(FILE_PATH).stop();
|
||||
```
|
||||
|
||||
* 删除任务
|
||||
|
||||
```java
|
||||
Aria.upload(this).loadFtp(FILE_PATH).cancel();
|
||||
```
|
||||
|
Reference in New Issue
Block a user