Android 网络通信框架Volley简介

Volley是Google I/O 2013年发布的一款Android网络通信库,专注于快速、简单且健壮的网络通信。它提供线程管理、缓存和取消请求的API,适用于数据量小但通信频繁的场景。Volley的特点包括自动调度网络请求、透明的磁盘和内存缓存、强大的取消请求功能以及高度可定制性。要使用Volley,可以通过Git或下载jar包来获取源码,并实现简单的Json数据打印和图片加载功能。
摘要由CSDN通过智能技术生成

Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。

Volley适合数据量小但通信频繁的情况下

Volley架构

下图就是Google I/O 演讲时使用的图片


主要分主线程、Cache线程、Network线程,从图中说明可以看出,主线程、Cache线程都只有一个,而NetworkDispatcher线程可以有多个,整个架构是以线程池作为基础。Volley的主要作用:
1、获取JSON对象
2、图片加载

使用Volley的好处:
1、Volley automatically schedule all network requests. It means that Volley will be taking care of all the network requests your app executes for fetching response or image from web.
2、Volley provides transparent disk and memory caching.
3、Volley provides powerful cancellation request API. It means that you can cancel a single request or you can set blocks or scopes of requests to cancel.
4、Volley provides powerful customization abilities.
5、Volley provides Debugging and tracing tools
Volley的使用
首先要得到Volley的源码或jar包
Volley的git地址:https://android.googlesource.com/platform/frameworks/volley
安装了git后可以通过以下命令得到它的源码:

git clone https://android.googlesource.com/platform/frameworks/volley
在Ubuntu12.04终端上使用如下命令可以得到最新的volley源码,然后在源码环境下编译出jar包

dzt@uu:~/Volley$ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 52, done
remote: Finding sources: 100% (52/52)
remote: Total 2851 (delta 259), reused 2851 (delta 259)
Receiving objects: 100% (2851/2851), 1.13 MiB | 369 KiB/s, done.
Resolving deltas: 100% (259/259), done.
使用源码编译Volley模块

dzt@uu:~/dzt/android_source_4.4$ mmm /home/dzt/GioneeApp/Volley/volley/
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.11.0-26-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=KOT49H
OUT_DIR=out
============================================
make:进入目录'/home/dzt/dzt/android_source_4.4'
target Java: volley (out/target/common/obj/JAVA_LIBRARIES/volley_intermediates/classes)
注意:/home/dzt/GioneeApp/Volley/volley/src/main/java/com/android/volley/RequestQueue.java 使用了未经检查或不安全
的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
Copying: out/target/common/obj/JAVA_LIBRARIES/volley_intermediates/classes-jarjar.jar
Copying: out/target/common/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值