安卓开发-使用异步网络请求框架、多线程文件下载

上篇文章:程序员带你学习安卓开发-安卓基础之网络编程 大汇总

相信对于前面的教程,大家已经很熟悉安卓网络编程了。这篇文章主要讲解一下异步网络编程和文件下载。学习编程重在写代码,只有自己的代码量上去了,自己才能完全理解。所以一定不要吝啬您的手指,代码敲起来吧~ 翻滚吧牛宝宝。

目录:

android-async-http开源框架

多线程下载文件

断点下载的实现

android-async-http开源框架

一、框架下载:

直接GitHub搜索一下就找到啦。你可能会问GitHub是什么?那我可以直接告诉你,GitHub是全世界最大的男性交友网站。不懂得人自行百度吧。

点击开项目按照如下方式下载zip压缩包。

二、开源框架使用,

首先把下载好的压缩包解压出来。

导入开源项目进行使用:把com整个文件夹,拷贝到安卓项目中:

com文件夹所在目录如下图:

切换到项目试图下,在java文件夹下点击粘贴,复制到安卓项目中:

这里介绍了一个开源项目导入的方法,对于其他的开源项目,依旧可以通过这种形式导入到安卓项目中去。如果各位有什么更好的导入方式或者开源框架欢迎推荐!!!

三、使用框架:

在导入项目时,有时发现会有错误,经过查看,发现android-ansync-http是基于Apache的http组件的,所以必须导入Apache的http组件。

下载地址:http://hc.apache.org/downloads.cgi

点击下载之后,把其中的jar文件,放入项目文件中:并选中文件,右键 add as to libary。

接下来可以顺利的使用了:

(1)进行Get请求

(2)进行Post请求

直接点击运行就可以了。

因为这个网络请求,经常被使用,所以出现了async-http-client库。但我们以前讲过的HttpClient和原生请求的方式都可以使用。async-http-client是在Apache的HttpClient库的基础上开发构建而成的。

这里的异步,是指它所有的网络请求在非UI独立工作线程中执行。利用消息处理机制,我们直接把回调放入就可以了,无需处理不同线程之间的同步问题了。使用起来非常方便。

你更喜欢使用什么方式进行安卓网络编程开发呢?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

Jar mismatch! Fix your dependencies

  在开发Android项目的时候,有时需要引用多个项目作为library。在引用项目的时候,有时会出现“Jar mismatch! Fix your depe...

1978
来自专栏WebDeveloper

git使用

1、git init 初始化仓库 2、 git status 查看仓库各文件的状态信息 3、撤销commit的文件 git log显示commit日志

1252
来自专栏小尘哥的专栏

centos7下redis的安装配置

3、下载源码到本地(wget http://download.redis.io/releases/redis-你需要的版本.tar.gz---我下载的是3.2....

1332
来自专栏技术博客

DevExpress A field with the name '' was not found on the selected data source.

绑定控件时发现的错误,找了很久终于找到原因了,可能也是大家没注意的地方,希望能给大家带来一些帮助。

1692
来自专栏有趣的Python和你

Flask学习笔记之url_for与重定向

前文中我们讲到,url(路由)和函数视图的映射关系,也就是通过对应的url,可以返回对应的视图函数。当然我们通过视图函数也能找到对应的url路径,这可以通过ur...

3683
来自专栏tiane12

Windows环境下配置PHP环境遇到的目录路径问题

1283
来自专栏云知识学习

Windows2008 MSFTP 使用教程

对于最里层的wwwroot:右键-->属性-->安全-->设置用户web的权限(具有读取和写入权限,选择‘高级’,选中特殊权限的web用户-->编辑权限-->选...

38211
来自专栏Python攻城狮

GitHub 系列之「向GitHub 提交代码」1.SSH2.生成SSH key3.GitHub 上添加 SSH key4.Push & Pull5.提交代码

你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码。仔细想想也知道,肯定不可能随意就能提...

762
来自专栏面朝大海春暖花开

springMVC+freemarker实现自定义标签

强烈建议2.3.20或其以上版本,注意还需要引入spring-context-support

1032
来自专栏十月梦想

node实现静态资源目录(根目录)

前面也讲述了,nodejs没有web容器,访问使用/filename是无法访问文件的,需要通过路由判断然后fs.readFile读取文件才可以!

882

扫码关注云+社区

领取腾讯云代金券