安卓开发之非常好用的AndroidOne框架DownloadManager
AndroidOne框架是采用MVC模式,集成了Android主流开源技术及组件,是一款极速且简单高效开发框架,整个项目包含两个部分AndroidOne,oneCore
AndroidOne为演示项目,里面介绍了该框架的使用方法及Demo
oneCore是该框架的核心项目,AndroidOne依赖于oneCore
下载地址:https://github.com/devinhu/androidone
AndroidOne框架继承了很多的功能,在文档中可以得知,在这里主要介绍一下DownloadManager的使用
1.首先要得到一个DownloadManager的实例,除了下面这种没有参数的方法,还有一种带参数的方法来生成实例getInstance(String rootPath);rootPath是设置下载的文件保存在哪里
如果不设置会保存在SDCard中download目录下。
DownloadManager dm = DownloadManager.getInstance();
2.然后设置DownloadManager的回调方法
dm.setDownLoadCallback(new DownLoadCallback(){
@Override
public void onLoading(String url, int bytesWritten, int totalSize) {
}
@Override
public void onSuccess(String url, String filePath) {
}
@Override
public void onFailure(String url, String strMsg) {
}
});
这个回调是对下载过程的一些处理:
onLoading()方法当文件正在下载的时候会频繁的调用。里面有三个参数,URL可以用来唯一标识当前是哪个下载任务,bytesWritten是当前已经下载的文件大小;totalSize是下载文件的总 大小。通过这两个int型的数据可以确定当前文件下载的进度。
onSuccess()方法会在下载完成的时候调用。
onFailuer()方法会在下载失败的时候调用。
3.添加下载文件,开始下载,暂停下载,继续下载
dm.addHandler(url);
dm.pauseHandler(url);
dm.continueHandler(url);
看源码可以发现在DownloadManager里面有一个方法startManager();这个方法的作用是开始下载。我们在代码中没有调用这个方法是因为addHandler()方法中会调用startManager()方法
上面三个方法建议在按钮的点击事件中调用,这样可以更加直观的控制整个下载过程
DownloadManager是一个单例类,所以使用的时候如果生成了太多的实例不需要担心;
DownloadManager支持多线程下载,多任务同时下载,断点续传等等功能,DownloadManager默认支持同时下载五个文件,如果你的不能满足你的需求可以更改任务数
AndroidOne框架源码使用eclipse开发,所以在Android Studio上面使用需要先将oneCore项目导成Android Studio 格式,再讲oneCore导入Android Studio添加项目依赖
或者在eclipse里面直接导成jar包,将jar包添加到libs目录下引入项目。在导成jar包的时候注意不要勾选配置文件,否则会报错
安卓开发之非常好用的AndroidOne框架DownloadManager的更多相关文章
- 基于eclipse-java的平台上搭建安卓开发环境
首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传 ...
- 关于安卓开发当中通过java自带的HttpURLConnection访问XML的java.io.EOFException问题
刚接触安卓开发,试着写个小程序熟悉下,就写了天气预报的小程序,通过httpUrlConnection读流的方式来获取网络公共接口提供的天气XML信息.但在建立http连接时一直报java.io.EOF ...
- Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...
- 安卓开发第一步:Android Studio安装配置
虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好" ...
- monkeyrunner之安卓开发环境搭建(一)
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程 ...
- 安卓开发:效果图中标注的像素尺寸如何转换为安卓的dp尺寸?
我们的UI基于1920x1080分辨率给的尺寸标注,但是在安卓开发中大家一般都使用dp.sp来标注界面尺寸,所以需要一个dp与sp的转换公式. 一开始参考的的这篇文章:关于Android开发中px.d ...
- 安卓开发30:AsyncTask的用法
http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43) 在开发Android应用时必须遵守单线程模型的原则: Andro ...
- delphi XE5下安卓开发技巧
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...
- 推荐 greenrobot eventbus,简化安卓开发,提高安卓维护性,优化安卓性能
最近在研究移动开发,广泛的阅读有关cordova,apicloud,android资料.发现安卓的开发还是很简单的.再发现greenrobot eventbus开源框架不仅可以简化安卓开发,有可以大幅 ...
随机推荐
- c#中的表达式
// 把变量和字面值(在使用运算符时,将它们统称为操作数)与运算符组合起来 // 就可以创建表达式,表达式是计算的基本构件 // 操作数可以是数值也可以是变量 + ; ; int num3 = num ...
- angular的数据双向绑定秘密
Angular用户都想知道数据绑定是怎么实现的.你可能会看到各种各样的词汇:$watch,$apply,$digest,dirty-checking... 它们是什么?它们是如何工作的呢?这里我想回答 ...
- ToggleButton --------- 按钮实现开关效果
ToggleButton(开关按钮)是Android系统中比较简单的一个组件,是一个具有选中和未选择状态双状态的按钮,并且需要为不同的状态设置不同的显示文本 ,默认状态下 关. ToggleButto ...
- RSA加密算法及其与SpringMVC集成
如有不足,敬请各位提出批评,定会改正.THX! 本文介绍的是RSA加密算法+Spring Security在SpringMVC中的集成使用. Spring Security是什么? 引用: Sprin ...
- http://www.cnblogs.com/yyyyy5101/archive/2011/03/11/1981078.html
http://www.cnblogs.com/yyyyy5101/archive/2011/03/11/1981078.html
- php常用mysql函数
mysql_affected_rows: 得到 MySQL 最后操作影响的列数目. mysql_close: 关闭 MySQL 伺服器连线. mysql_connect: 开启 MySQL 伺服器连线 ...
- DIRECTORY_SEPARATOR的作用
IRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用. 在windows下路径分隔符是/(当然/在部分系统上也是可以正常运行的),在lin ...
- sql 添加约束
在表中添加约束,基本常用的有两种类型,一个是创建表时同时添加约束,另一个是创建好表通过修改表添加约束,在这里是创建表时同时添加约束,但是有两种不同的用写法. 在这里列举出一些创建约束的形式,共参考(均 ...
- js阻止元素的默认事件与冒泡事件
嵌套的div元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,从而带来一定的影响. 1. event.preventDefault(); -- 阻止元素的默认 ...
- jQuery之动画效果
1.show()显示效果 语法:show(speed,callback) Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow"," ...