`
scarlettli
  • 浏览: 57339 次
  • 性别: 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` 是Google在2013年I/O大会上推出的网络请求库,...在TestVolleyNetwork这个示例中,你可以找到具体实现Volley请求的代码,通过学习和实践,进一步掌握Volley的使用技巧。

    Android Volley Demo

    总结,"Android Volley Demo"是一个学习和实践Volley网络库的理想案例。通过分析和运行代码,我们可以深入了解Volley的工作原理,掌握高效的网络请求和图片加载技巧,并利用JUnit进行功能验证,提升应用的稳定性和...

    Android Volley源码20160414版

    Android Volley 是一个高效的网络请求库,由 Google 为 Android 平台开发,旨在简化网络通信。20160414 版本的 Volley ...对于任何希望构建高性能 Android 应用的开发者来说,理解和使用 Volley 都是非常有价值的经验。

    AndroidVolley框架使用源代码

    总之,Android Volley 源代码提供了一个深入学习网络请求处理和优化的良好机会,它展示了如何高效、智能地管理网络请求,对于提升 Android 应用的用户体验具有重要意义。通过深入研究,开发者不仅可以提高自己的编程...

    Android volley 网络框架学习

    在 Android 应用中使用 Volley,首先需要添加依赖库: ```xml dependencies { implementation 'com.android.volley:volley:1.2.1' } ``` 然后创建 RequestQueue: ```java RequestQueue queue = Volley....

    Volley学习Demo

    在这个“Volley学习Demo”中,我们将深入探讨Volley的基本用法,包括网络请求的发送、响应的处理以及图片下载等功能。 首先,Volley的核心在于其高效的缓存策略和请求队列管理。它提供了内存缓存和磁盘缓存,能够在...

    volley使用的demo

    通过“Volley使用的demo”,开发者可以直观地学习如何在实际项目中集成Volley,提高应用的网络性能。实践是检验真理的唯一标准,所以动手尝试并理解每个组件的工作原理至关重要。希望这个详尽的解释能帮助你更好地...

    Volley使用,包含get、post请求,获取String/JsonObject/JsonArray数据(android客户端+java服务器端)

    Volley是Google推出的一款高效的Android网络请求库,它旨在简化Android应用中的网络操作,通过减少网络请求的延迟...通过学习和掌握Volley的使用,开发者可以更好地优化Android应用的网络性能,提供更流畅的用户体验。

    Volley封装使用Demo

    通过这个“Volley封装使用Demo”,我们可以学习到如何在实际项目中有效地使用Volley,从而简化网络请求的处理流程,提高应用程序的响应速度和用户体验。同时,理解并掌握Volley的工作原理和最佳实践,对于任何...

    AndroidVolley源码jar包

    Volley是Google推出的一款高效的网络请求库,专为Android平台设计。它以其低延迟、高效能和良好的缓存策略著称,尤其适用于处理大量的小数据...这个“AndroidVolley源码jar包”对于学习和改进Volley是一个宝贵的资源。

    android volley jar

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

    Android-volley

    **Android-volley 深度解析** Android-volley 是谷歌推出的一个网络库,专为Android平台设计,旨在提供高效、...通过对源代码的学习,开发者可以更深入地理解Android网络通信的优化策略,提升应用的性能和用户体验。

    android-volley-master volley library。android开发之Google官方开源框架,著名的开源框架

    Volley以其高效、灵活和易于使用的特性,成为许多开发者在进行Android应用网络编程时的首选框架。 Volley的核心设计理念是快速响应和低延迟。它通过缓存策略、线程池管理和请求队列等机制,实现了在网络请求上的...

    Volley框架的使用

    以上是Volley框架的基本使用和主要特点,学习并掌握这些知识点,将使你在处理Android应用的网络请求时更加得心应手。通过实践和深入理解Volley的工作原理,你将能够构建出高效、稳定的网络通信功能。

    android volley框架相册

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

    Android Volley框架完全解析

    **Android Volley 框架完全解析** Android Volley 是 Google 推出的一款强大的网络请求库,专为 Android 应用设计,旨在提供轻量级...通过持续学习和实践,我们可以不断优化和扩展 Volley,以适应日益复杂的应用场景。

    Android volley包

    Volley 是 Google 推出的一款高效的网络请求库,专为 Android 应用设计,旨在简化网络操作并提高性能。这个“Android volley 包...这个“Android volley 包”应该能提供足够的学习材料,帮助开发者掌握 Volley 的精髓。

    Volley Demo 2 源代码

    Volley Demo 2源代码提供了一个实际应用中的示例,帮助开发者更深入地理解如何在Android项目中集成和使用Volley。 在"Android中关于Volley的使用(八)缓存机制的深入认识"这篇文章中,主要探讨了Volley的缓存策略...

    Android网络请求框架之volley框架

    Volley是Google官方推出的一款高效的Android网络请求框架,专为Android平台设计,旨在提供轻量级、快速且易于使用的网络通信库。...通过学习和掌握Volley,可以提升Android应用在网络通信方面的体验。

    Volley的三级缓存使用

    在"Volley的三级缓存使用"的示例中,我们可以学习如何配置和使用这些缓存机制。首先,我们需要在初始化Volley的RequestQueue时设置缓存。Volley的RequestQueue构造函数接受一个Cache接口实例,我们可以创建一个 ...

Global site tag (gtag.js) - Google Analytics