Android 网络框架Volley

Volley简介

在平时的开发过程中,我们的应用几乎总是在和网络打交道, 在android下的网络编程一般都是基于Http协议的 ,常见的是HttpURLConnection和HttpClient 两个类。因为用的比较多,很容易写一些重复的代码,于是就出现了一些比较好的网络框架,像AsyncHttpClient 、Xutils,Universal-Image-Loader(网络图片加载框架)等。

 

Volley是Google在2013年I/O大会上退出的一款新的网络框架,在数据两不大但通信频繁的网络操作中,用Volley非常适合。对于下载还是使用Xutils比较好。

Volley jar包下载

鉴于国内上外网的难度,可以上github上下载,https://github.com/mcxiaoke/android-volley一个和官方保持同步的非官方包

将jar包导入到lib目录下,准备工作就做完了、。

Volley使用

StringRequest

这个类可以用来从服务器获取String

StringRequest stringRequest = new StringRequest("http://www.baidu.com",
                        new Response.Listener<String>() {
                            @Override
                            public void onResponse(String response) {
                                Log.d("TAG", response);
                            }
                        }, new Response.ErrorListener() {
                            @Override
                            public void onErrorResponse(VolleyError error) {
                                Log.e("TAG", error.getMessage(), error);
                            }
                        });
ApplicationController.getInstance().addToRequestQueue(stringRequest);

 

添加网络权限

<uses-permission android:name="android.permission.INTERNET" />

这段代码,就是将百度首页的HTML代码给请求了过来。

RequestQueue初始化过程

public RequestQueue getRequestQueue() {
    // lazy initialize the request queue, the queue instance will be
    // created when it is accessed for the first time
    if (mRequestQueue == null) {
        mRequestQueue = Volley.newRequestQueue(getApplicationContext());
    }  

    return mRequestQueue;
}

 

在android2.3 之前使用HttpClient,2.3之后使用HttpURLConnection,在这里也有体现

newRequestQueue(Context context, HttpStack stack)中的部分源码:

if (Build.VERSION.SDK_INT >= 9) {
            stack = new HurlStack();
        } else {
            // Prior to Gingerbread, HttpUrlConnection was unreliable.
            // See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
            stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent));
        }

时间: 2024-10-17 01:31:22

Android 网络框架Volley的相关文章

Android网络框架-Volley实践 使用Volley打造自己定义ListView

这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley 终于效果 这个ListView呈现了一些影视信息,每一行是一个影片的信息,每一行中有一张电影的图片,电影的名字.评分.类型.年份等信息. 1.json数据 我们通过解析json然后拿到数据,这个json数据包含json数组.每一个json数组中是一个json对象,json对象中包含了电影的图片url地址.标题.年份.评分.类型等信息 JSO

ym—— Android网络框架Volley(实战篇)

转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103).谢谢支持. 之前讲了ym-- Android网络框架Volley(体验篇),大家应该了解了volley的使用,接下来我们要看看怎样把volley使用到实战项目里面,我们先考虑下一些问题: 从上一篇来看 mQueue 仅仅须要一个对象就可以,new RequestQueue对象对资源一种浪费,我们应该在application.以及能够把取消请求的方法也在application进行统一管理,看下面代

ym—— Android网络框架Volley(体验篇)

<a target=_blank href="https://android.googlesource.com/platform/frameworks/volley" style="font-family: Arial, Helvetica, sans-serif; box-sizing: border-box; background-image: initial; background-attachment: initial; background-color: rg

Android网络框架Volley

Volley是Google I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp 他们各有优劣,之前个人则比较喜欢用Android-async-http, 如今Google推出了官方的针对Android平台上的网络通信库,能使网络通信更快,更简单,更健壮,Volley在提供了高性能网络通讯功能的同时,对网络图片加载也提供了良好的支持,完全可以满足简单REST客户端的需求, 我们

Android网络框架-Volley实践 使用Volley打造自定义ListView

这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley 最终效果 这个ListView呈现了一些影视信息,每一行是一个影片的信息,每一行中有一张电影的图片,电影的名字.评分.类型.年份等信息. 1.json数据 我们通过解析json然后拿到数据,这个json数据包括json数组,每个json数组中是一个json对象,json对象中包括了电影的图片url地址.标题.年份.评分.类型等信息 JSON

ym—— Android网络框架Volley(终极篇)

1.Volley本地缓存为什么有时候不会进行缓存? 缓存使用前提服务器必须支持,缓存,配置Cache-Control头信息, 因为Volley需要从这些头信息判断缓存是否已经过期.如果已经过期Volley将会重新从网络获取数据. 本人用抓包工具抓了无法缓存的返回头信息 可以支持缓存的头信息 2.如果我们自己写一个网络请求框架,我们内部实现会选择使用HttpURLConnection还是HttpClient? 我们通过源码来看看Volley是如何选择使用的 [java] view plaincop

android 网络框架 volley

1.首先下载volley的jar包,导入自己的项目中 volley jar包下载 2.JsonArrayRequest简单文本请求 使用下面的代码实现json数据获取 RequestQueue queue = Volley.newRequestQueue(instance); //注意这里拿到的RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求.RequestQueue内部的设计就是非常合适高并发的,因此我们不必为每一次HTTP请求都创

Android 网络框架 volley源码剖析

转载请注明出处:  http://blog.csdn.net/guolin_blog/article/details/17656437 经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚.因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍.同时,这也是Volley系列的最后一篇文章了. 其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示. 多数朋友突然看到一张

Android笔记(六十二)网络框架volley

什么是Volley 很多时候,我们的APP都需要用到网络技术,使用HTTP协议来发送接收数据,谷歌推出了一个网络框架——volley,该框架适合进行数据量不大,但通信频繁的网络操作. 它的优点: (1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient: (2)符合Http 缓存语义 的缓存机制(提供了默认的磁盘和内存等缓存): (3)请求队列的优先级排序: (4)提供多样的取消机制: (5)提供简便的图片加载工具(其实图片的加载才是我们