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目录下。

  1.  DownloadManager dm = DownloadManager.getInstance();

2.然后设置DownloadManager的回调方法

  1. dm.setDownLoadCallback(new DownLoadCallback(){
  2. @Override
  3. public void onLoading(String url, int bytesWritten, int totalSize) {
  4.  
  5. }
  6.  
  7. @Override
  8. public void onSuccess(String url, String filePath) {
  9.  
  10. }
  11.  
  12. @Override
  13. public void onFailure(String url, String strMsg) {
  14.  
  15. }
  16. });

这个回调是对下载过程的一些处理:

onLoading()方法当文件正在下载的时候会频繁的调用。里面有三个参数,URL可以用来唯一标识当前是哪个下载任务,bytesWritten是当前已经下载的文件大小;totalSize是下载文件的总     大小。通过这两个int型的数据可以确定当前文件下载的进度。

onSuccess()方法会在下载完成的时候调用。

onFailuer()方法会在下载失败的时候调用。

3.添加下载文件,开始下载,暂停下载,继续下载

  1. dm.addHandler(url);
  2. dm.pauseHandler(url);
  3. 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的更多相关文章

  1. 基于eclipse-java的平台上搭建安卓开发环境

    首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传 ...

  2. 关于安卓开发当中通过java自带的HttpURLConnection访问XML的java.io.EOFException问题

    刚接触安卓开发,试着写个小程序熟悉下,就写了天气预报的小程序,通过httpUrlConnection读流的方式来获取网络公共接口提供的天气XML信息.但在建立http连接时一直报java.io.EOF ...

  3. Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境

    我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...

  4. 安卓开发第一步:Android Studio安装配置

    虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好" ...

  5. monkeyrunner之安卓开发环境搭建(一)

    在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程 ...

  6. 安卓开发:效果图中标注的像素尺寸如何转换为安卓的dp尺寸?

    我们的UI基于1920x1080分辨率给的尺寸标注,但是在安卓开发中大家一般都使用dp.sp来标注界面尺寸,所以需要一个dp与sp的转换公式. 一开始参考的的这篇文章:关于Android开发中px.d ...

  7. 安卓开发30:AsyncTask的用法

    http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43)  在开发Android应用时必须遵守单线程模型的原则: Andro ...

  8. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  9. 推荐 greenrobot eventbus,简化安卓开发,提高安卓维护性,优化安卓性能

    最近在研究移动开发,广泛的阅读有关cordova,apicloud,android资料.发现安卓的开发还是很简单的.再发现greenrobot eventbus开源框架不仅可以简化安卓开发,有可以大幅 ...

随机推荐

  1. oracle安装、配置、卸载、错误解决

    oracle安装卸载的帖子很多,这里整理出一份,都只是给出一个链接,忘了时可以自己看看.哈哈,其实我也觉得已经不会忘了,被这个鸡毛问题困了两天,修改控制文件.环境变量.注册表什么的都不能解决问题,最后 ...

  2. .net程序员转战android第三篇---登录模块之静态登录

    这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据 ...

  3. const用法总结

    1. const修饰变量 ; const int* a = &b; //情况1 int const* a = &b; //情况2 int* const a = &b; //情况 ...

  4. Ubutu命令 笔记积累

    1 man command 查询帮助 查询结果会有 name    synopsis(概要)  description 2 terminal 中快捷键: Ctrl +u 撤销 Ctrl +l  清屏 ...

  5. js 之 Post发送请求

    // ajax 对象 function ajaxObject() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new X ...

  6. 深入C语言内存区域分配(进程的各个段)详解(转)

    原文地址:http://www.jb51.net/article/39696.htm 一般情况下,一个可执行二进制程序(更确切的说,在Linux操作系统下为一个进程单元,在UC/OSII中被称为任务) ...

  7. JSON的parse()方法

    JSON方法也可以接受另外的一个参数,作为还原函数. 实例: var book = { title:"JavaScript Learn", author:["wang&q ...

  8. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。

    错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用 ...

  9. 【译】JavaScript 开发者年度调查报告

    截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...

  10. Mysql 6.7.7 + EntityFramework 5.0 Code First 不能 Update-Database 问题的解决

    1.修改 Migrations/Configuration.cs 文件 namespace DataModel.Migrations { using System; using System.Data ...