开始

导入类库

在app目录下的build.gradle文件中添加以下依赖

implementation 'com.arialyy.aria:core:3.8.5'

annotationProcessor 'com.arialyy.aria:compiler:3.8.5'

如果出现android support,请将 compile 'com.arialyy.aria:aria-core:'替换为

compile('com.arialyy.aria:aria-core:'){

exclude group: 'androidx.appcompat.app'

}

如果你使用的是kotlin,请使用kotlin官方提供的方法配置apt,kotlin kapt官方配置传送门

在AndroidManifest文件中添加相应权限

由于Aria涉及到文件和网络的操作,因此需要你在manifest文件中添加以下权限,如果你希望在6.0以上的系统中使用Aria,那么你需要动态向安卓系统申请文件系统读写权限,如何使用安卓系统权限

注册aria

在Activity的onCreate、fragment的onCreate、java的构造函数中使用Aria.download(this).register();便可以实现注册。

如在activity中:

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

Aria.download(this).register();

}

创建任务

创建并启动一个下载任务,创建任务完成后,可获取到该任务的id。

long taskId = Aria.download(this)

.load(DOWNLOAD_URL) //读取下载地址

.setFilePath(DOWNLOAD_PATH) //设置文件保存的完整路径

.create(); //启动下载

停止\恢复任务

使用通过创建任务获取的任务id,可对任务进行停止、恢复等操作

Aria.download(this)

.load(taskId)

.stop();

//.resume();

接受任务回调

基于解耦合的考虑,Aria的下载功能是和状态获取相分离的,状态的获取并不会集成到链式代码中,但是Aria提供了另一种更简单更灵活的方案。

通过注解,你可以很容易获取任务的所有状态。

//在这里处理任务执行中的状态,如进度进度条的刷新

@Download.onTaskRunning protected void running(DownloadTask task){

if(task.getKey().eques(url)){

....

可以通过url判断是否是指定任务的回调

}

int p = task.getPercent(); //任务进度百分比

String speed = task.getConvertSpeed(); //转换单位后的下载速度,单位转换需要在配置文件中打开

String speed1 = task.getSpeed(); //原始byte长度速度

}

@Download.onTaskComplete void taskComplete(DownloadTask task){

//在这里处理任务完成的状态

}

非android界面组件中使用

如果你希望在android的非组件类中使用Aria,可以任意类中使用

其它

注意事项

注解回掉采用Apt的方式实现(和butterknife原理一样),所以,你不需要担心这会影响你机器的性能

被注解的方法不能被private修饰

被注解的方法除了onFail和DownloadGroupSubTask注解外,其它注解 只能有一个参数,并且参数类型必须是DownloadTask或UploadTask或DownloadGroupTask,如果是onFail注解或DownloadGroupSubTask注解,请查看相应的说明

方法名可以为任意字符串

Copyright © 2018 laoyuyu. | 蜀ICP备17031160号.            更新时间: 2020-01-17

Android开源aria使用,1.1 开始相关推荐

  1. 关于Android开源库分享平台,(GitClub)微信小程序的开发体验

    七八月份的深圳一直在下雨,总有人说雨天适合窝在家看书,对于程序开发者来说更是难得的学习机会.我们502工作室的小伙伴利用这个时间学习了一下微信小程序开发,并上线了一个GitClub小程序,目前功能有些 ...

  2. Android开源项目分类汇总-转载

    太长了,还是转载吧... 今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有 ...

  3. 直接拿来用!最火的Android开源项目(一)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了 ...

  4. Android开源控件ViewPager Indicator的使用方法

     1月16日厦门 OSC 源创会火热报名中,奖品多多哦   摘要 Android开源控件ViewPager Indicator的使用介绍 ViewPagerIndicator 目录[-] 1. V ...

  5. Android开源项目SlidingMenu本学习笔记(两)

    我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: 点击Bluetooth能 ...

  6. Android开源项目分类汇总[转]

    Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析 欢迎加入 QQ 交流群:383537512(入群理由需要填写 ...

  7. Android 开源库获取途径整理

    最新内容请见原文: http://www.trinea.cn/android/android-open-project-summary/ 介绍目前收藏 Android 开源库比较多的 GitHub 项 ...

  8. Android 开源项目集合

    2019独角兽企业重金招聘Python工程师标准>>> 上百个Android开源项目分享,希望对android开发有帮助. Android PDF 阅读器 http://source ...

  9. android 测试工具,Android开源项目第四篇:开发及测试工具篇

    本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...

最新文章

  1. VS2012编译调试WDM驱动(KdPrint无调试信息 debugview win7无调试信息)
  2. leetcode算法题--最小的k个数
  3. python代码执行过程记录_[原创]IDAPython+OdbgScript动态获取程序执行流程
  4. WPF实现统计图(饼图仿LiveCharts)
  5. reg类型变量综合电路_Verilog中reg型变量的综合效果(待补充)
  6. 数学趣题——渔夫抓鱼问题
  7. VIVADO 安装教程
  8. R语言和Rstudio的介绍和安装
  9. 项目管理-产品开发流程
  10. BOM类型转换——>EBOM、MBOM、PBOM
  11. matlab u 上波浪线,波浪线如何居中,在excel中怎样输入在文字中部加波浪线
  12. android系统定制教程,Android系统DIY修改 定制第三方ROM教程
  13. Andersen Global首次进入塞拉利昂市场,继续拓展非洲业务
  14. java json ajax数据处理,echart显示 问题待解决
  15. Tello无人机版之使用Scratch2和ROS进行机器人图形化编程学习
  16. Compilation failed while executing : strip 问题解决
  17. DasBlog: 构建一个分布式.NET 协作系统
  18. 计算机分类汇总表格,Excel分类汇总使用全攻略
  19. siki学院 游戏热更新实战案例(基于xLua) 捕鱼达人 完整素材
  20. 【研究】移动办公趋势洞察系列之二:人工智能、智能硬件精彩纷呈,业务协同初心不变

热门文章

  1. 牛人三个月内花不到 5000 美元拿到 CS 学位
  2. 阿里 AI「一对多」挑战人类律师;谷歌或将推出自研手机和电脑芯片;JavaScript诞生25周年|极客头条...
  3. 面试不慌,看完保证让你写HashMap跟玩一样
  4. 阿里动物园再添新丁,小蛮驴搞定物流最后三公里!
  5. 软件工程的迷途与沉思
  6. 华为百度美团驰援抗击疫情;自由软件基金会建议开源 Windows 7;印度超越美国成第二大智能手机市场 | 极客头条...
  7. @程序员,如何花式构建线程?
  8. 华为鸿蒙为什么非要碰物联网?
  9. 百元价位的水下相机?!1000个去海边的人有900个选择了它!
  10. 我当测试总监的那几年