`
scarlettli
  • 浏览: 55316 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Android Volley学习使用

阅读更多
      我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不少重复代码。Android开发团队也是意识到了有必要将HTTP的通信操作再进行简单化,于是在2013年Google I/O大会上推出了一个新的网络通信框架——Volley。既可以非常简单地进行HTTP通信,也可以轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。

      下面来说说Volley的用法:
      1.获取到一个RequestQueue对象,这里拿到的RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求。

      2.创建一个StringRequest对象用来发出一条HTTP请求,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数是服务器响应成功的回调,第三个参数是服务器响应失败的回调。

      3.将这个StringRequest对象添加到RequestQueue里面
     
 //1.获取一个RequestQueue对象
        RequestQueue mRequestQueue = Volley.newRequestQueue(context);

        //2.创建一个StringRequest对象
        StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://www.baidu.com", new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                 //服务器响应成功,将服务器返回的响应转换成一个Java Bean通过EventBus传递给事件监听处理
                  EventBus.getDefault().post(new ResultBeen(response));
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //服务器响应失败,将服务器返回的响应转换成一个Java Bean通过EventBus传递给事件监听处理
                EventBus.getDefault().post(new ResultBeen(error.getMessage()));

            }
        });
        //3.将StringRequest对象添加到RequestQueue里面
        mRequestQueue.add(stringRequest);


        Java Bean代码:
       
public class ResultBeen {
    private int result;
    private String response;

    public ResultBeen(String response) {
        this.response =response;
    }

    public int getResult() {
        return result;
    }

    public void setResult(int result) {
        this.result = result;
    }

    public String getResponse() {
        return response;
    }

    @Override
    public String toString() {
        return response;
    }
}


      事件监听处理:
     
    @DebugLog
    public void onEventMainThread(ResultBeen event) {

        this.tv_result.setText(event.getResponse());

    }

     

      4.另外,由于Volley是要访问网络的,因此千万不要忘记在你的AndroidManifest.xml中添加如下权限
     
<uses-permission android:name="android.permission.INTERNET" />  
分享到:
评论

相关推荐

    Android volley 网络框架学习

    Android volley 网络框架学习 Android volley 网络框架学习

    Android Volley Demo

    今天学习使用了网络加载库Volley,先说下Volley库的地址: https://github.com/mcxiaoke/android-volley。这里是一个VolleyDemo。

    Volley学习Demo

    Volley学习demo,包含volley的网络请求,图片下载

    android volley jar

    亲自测试可以使用(我用于加载网络图片),我是写毕业设计完成一个app时需要用到,但网络上下载volley的jar包处处都需要积分/币,现在我拿到了这个资源,我免费分享给想了解学习volley的你们 ----------------------...

    volley使用的demo

    利用google的最新网络框架volley加载图片的demo

    android volley框架相册

    包含: android volley框架相册源码,帮助volley使用 配置安全文件android:networkSecurityConfig 包含:php后台接口,帮助初学者学习jsonobject,jsonarray结构 包含:linux文件资源,配置资源到指定linux目录...

    Volley框架的使用

    Volley框架的使用,包括网络请求方式的使用,图片加载和图片缓存,Volley与Activity生命周期联动,非常适合新手学习。

    Android-volley

    github上的volley源代码,供大家学习参考。

    使用volley优化的瀑布流(android)

    使用volley实现图片的下载和缓存,优化后的瀑布流布局,(ps:还不了解volley,那你就out了,赶快下载来学习一下吧)

    AndroidVolley完全解析(三),定制自己的Request

    经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、...

    Android框架学习之Volley和Glide详解

    该框架封装的扩展性很强,支持OkHttp,Volley里面也封装了ImageLoader,自身作为图片加载框架,不过这块功能没有一些专门的图片加载框架强大,对于简单的需求可以使用,对于稍复杂点的需求还是需要用到专门的图片...

    基于Volley框架做的加载网络图片的demo

    这是基于Volley框架开发的,可以加载网络图片的demo,希望可以帮助学习的人!

    volley 经典学习实例

    内容很少,但是例子经典容易理解,android学习者,需要就下载呗!

    Volleyjar.zip

    android Volley jar包资源下载啦,直接下载就能用了哦,详细教程的话也可以私聊我哈,欢迎一起学习android开发

    Android代码-AndroidNote Android笔记

    Android学习笔记 &gt; 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, &gt; 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, &gt; 青丝化雪、鬓角成霜,已是英雄迟暮,人生怎慷慨激昂? 目录 ...

    volley和async对比

    这个demo实现了volley和 async请求远程的json数据,并填充listview。通过学习这些代码,你能很清楚的了解到volley和 async的区别。教程在这里:http://cym.so/2014/07/05/volley-android/

    Volley Demo

    Google IO新提出的Volley,这个一个Volley测试例子,共同学习共同进步

    安卓图片轮播广告轮播自动滚屏相关-Android广告条效果--使用Volley实现网络图片的自动轮播仿淘宝网易广告页轮播效果绝对详细的网络图片自动轮播效果.rar

    Android广告条效果--使用Volley实现网络图片的自动轮播(仿淘宝、网易广告页轮播效果)绝对详细的网络图片自动轮播效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

Global site tag (gtag.js) - Google Analytics