添加文件大小转换接口,当前进度百分比接口

pull/330/head
AriaLyy 8 years ago
parent 5b0951c765
commit 7182dda17d
  1. 4
      Aria/build.gradle
  2. 24
      Aria/src/main/java/com/arialyy/aria/core/download/DownloadTask.java
  3. 13
      Aria/src/main/java/com/arialyy/aria/core/inf/ITask.java
  4. 24
      Aria/src/main/java/com/arialyy/aria/core/upload/UploadTask.java
  5. 8
      README.md

@ -7,8 +7,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 9 minSdkVersion 9
targetSdkVersion 23 targetSdkVersion 23
versionCode 310 versionCode 311
versionName "3.1.0" versionName "3.1.1"
} }
buildTypes { buildTypes {
release { release {

@ -95,6 +95,18 @@ public class DownloadTask implements ITask {
return mEntity.getConvertSpeed(); return mEntity.getConvertSpeed();
} }
/**
* 获取百分比进度
*
* @return 返回百分比进度如果文件长度为0返回0
*/
@Override public int getPercent() {
if (mEntity.getFileSize() == 0) {
return 0;
}
return (int) (mEntity.getCurrentProgress() * 100 / mEntity.getFileSize());
}
/** /**
* 获取文件大小 * 获取文件大小
*/ */
@ -102,6 +114,18 @@ public class DownloadTask implements ITask {
return mEntity.getFileSize(); return mEntity.getFileSize();
} }
/**
* 转换单位后的文件长度
*
* @return 如果文件长度为0则返回0m否则返回转换后的长度1b1k1m1g1t
*/
@Override public String getConvertFileSize() {
if (mEntity.getFileSize() == 0) {
return "0m";
}
return CommonUtil.formatFileSize(mEntity.getFileSize());
}
/** /**
* 获取当前下载进度 * 获取当前下载进度
*/ */

@ -54,8 +54,21 @@ public interface ITask {
*/ */
public String getConvertSpeed(); public String getConvertSpeed();
/**
* 获取百分比进度
*/
public int getPercent();
/**
* 原始文件byte长度
*/
public long getFileSize(); public long getFileSize();
/**
* 转换单位后的文件长度
*/
public String getConvertFileSize();
public long getCurrentProgress(); public long getCurrentProgress();
public void setTargetName(String targetName); public void setTargetName(String targetName);

@ -151,6 +151,30 @@ public class UploadTask implements ITask {
return mUploadEntity.getConvertSpeed(); return mUploadEntity.getConvertSpeed();
} }
/**
* 获取百分比进度
*
* @return 返回百分比进度如果文件长度为0返回0
*/
@Override public int getPercent() {
if (mUploadEntity.getFileSize() == 0) {
return 0;
}
return (int) (mUploadEntity.getCurrentProgress() * 100 / mUploadEntity.getFileSize());
}
/**
* 转换单位后的文件长度
*
* @return 如果文件长度为0则返回0m否则返回转换后的长度1b1k1m1g1t
*/
@Override public String getConvertFileSize() {
if (mUploadEntity.getFileSize() == 0) {
return "0m";
}
return CommonUtil.formatFileSize(mUploadEntity.getFileSize());
}
@Override public long getFileSize() { @Override public long getFileSize() {
return mUploadEntity.getFileSize(); return mUploadEntity.getFileSize();
} }

@ -25,7 +25,7 @@ Aria怎样使用?
## 下载 ## 下载
[![Download](https://api.bintray.com/packages/arialyy/maven/Aria/images/download.svg)](https://bintray.com/arialyy/maven/Aria/_latestVersion)</br> [![Download](https://api.bintray.com/packages/arialyy/maven/Aria/images/download.svg)](https://bintray.com/arialyy/maven/Aria/_latestVersion)</br>
```java ```java
compile 'com.arialyy.aria:Aria:3.1.0' compile 'com.arialyy.aria:Aria:3.1.1'
``` ```
## 示例 ## 示例
@ -203,12 +203,16 @@ Aria.download(this).removeAllTask();
long speed = task.getSpeed(); long speed = task.getSpeed();
} }
``` ```
* 获取下载的文件大小 * 获取下载的文件大小、当前进度百分比
同样的,你也可以在DownloadTask对象中获取下载的文件大小 同样的,你也可以在DownloadTask对象中获取下载的文件大小
``` ```
@Override public void onTaskRunning(DownloadTask task) { @Override public void onTaskRunning(DownloadTask task) {
 //获取文件大小  //获取文件大小
long fileSize = task.getFileSize(); long fileSize = task.getFileSize();
//获取单位转换后的文件大小
String fileSize1 = task.getConvertFileSize();
//当前进度百分比
int percent = task.getPercent();
} }
``` ```

Loading…
Cancel
Save