近日,于国务院总理李克强在《政府工作报告》中明确提到全面取消国内长途和漫游费后,三大运营商中国移动、中国联通、中国电信同时宣布:今年10月1日起,将取消手机漫游费。至于为什么是10月,三大运营商皆表示需要时间来开发部署新的计费系统、制定新的资费方案等等。
本篇来自
蓝牙鼠标
的投稿,结合 RxJava 以及 Lambda语法 实现了OKHttp下载文件。文中代码偏多,却不难理解,注释得很到位,希望能够对大家有所帮助。
蓝牙鼠标
的博客地址:
http://blog.csdn.net/cfy137000
OKHttp3 是如今非常流行的 Android 网络请求框架,那么如何利用 Android 实现断点续传呢,今天写了个 Demo 尝试了一下。
我们会用到 OKHttp3 来做网络请求,使用 RxJava 来实现线程的切换,并且开启 Java8 来启用 Lambda 表达式,毕竟 RxJava 实现线程切换非常方便,而且数据流的形式也非常舒服,同时 Lambda 和 RxJava 配合食用味道更佳。
打开我们的 app Module 下的 build.gradle,代码如下:
OKHttp 和 RxJava,RxAndroid 使用的都是最新的版本,并且配置开启了 Java8.
接着开始书写布局文件:
其他都差不多,大概是这个样子的:
3个ProgressBar就是为了显示进度的,每个 ProgressBar 对应 2个Button,一个是开始下载,一个是暂停(取消)下载,这里需要说明的是,对下载来说暂停和取消没有什么区别,除非当取消的时候,会顺带把临时文件都删除了,在本例里是不区分他俩的.
我们这里需要用到一些文件路径,有一个 全局Context 会比较方便, 而 Application 也是 Context 的子类,使用它的是最方便的,所以我们写一个类来继承:
可以看到,我们就是要获得一个全局的Context对象的
我们在 AndroidManifest 中注册一下我们的 Application,同时再把我们所需要的权限给上,我们只需要一个网络权限: