• Android Volley 框架的使用(一)


    为什么要使用Volley框架

    开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等;

    而Volley框架就是为解决这些而生的,它与2013年Google I/O大会上被提出:使得Android应用网络操作更方便更快捷;抽象了底层Http Client等实现的细节,让开发者更专注与产生RESTful Request。另外,Volley在不同的线程上异步执行所有请求而避免了阻塞主线程。

    这里写图片描述

    Volley到底有哪些特点呢?

    1. 自动调度网络请求
    2. 多个并发的网络连接
    3. 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
    4. 支持请求优先级
    5. 支持取消请求的强大API,可以取消单个请求或多个
    6. 易于定制
    7. 健壮性:便于正确的更新UI和获取数据
    8. 包含调试和追踪工具

    如何使用Volley

    git clone https://android.googlesource.com/platform/frameworks/volley 或者 https://github.com/mcxiaoke/android-volley 

    或者到Maven下载http://central.maven.org/maven2/com/mcxiaoke/volley/library/1.0.19/library-1.0.19.jar

     

    Volley中的RequestQueue 和 Request

    • RequestQueue 用来执行请求的请求队列
    • Request 用来构造一个请求对象
    • Request对象主要有以下几种类型: 
      1. StringRequest 响应的主体为字符串
      2. JsonArrayRequest 发送和接收JSON数组
      3. JsonObjectRequest 发送和接收JSON对象
      4. ImageRequest 发送和接收Image

    Volley的基本使用

    首先我们需要创建一个RequestQueue requestQueue,然后构建一个自己所需要的XXRequest req,之后通过requestQueue.add(req);将请求添加至请求队列;

    构建一个RequestQueue

    RequestQueue requestQueue=Volley.newRequestQueue(this);//这里的this指的是Context

    创建一个Request(以JsonObjectRequest为例)

    复制代码
    private final String url="http:/xxxxx"//所需url
        JsonObjectRequest req=new JsonObjectRequest(url,null,new Response.Listener<JsonObject>(){
            @Override
            public void onResponse(JsonObject response){
                //添加自己的响应逻辑,
            }
        },
        new ResponseError.Listener(){
            @Override
            public void onResponseError(VollerError error){
                //错误处理
                L.d("Error Message:","Error is"+error);
            }
        });
    复制代码

    将req添加到requestQueue

    在构建JsonObjectRequest对象时,需要四个参数,其中第二个参数代表http方法,第三个和第四个分别是响应监听和响应错误监听,分别需要覆写onResponse()onResponseError()方法;RequestQueue将会执行请求,并将响应回调onResponse()方法,所以需要在onResponse()方法中实现自己的业务逻辑

    post请求

    http://www.2cto.com/kf/201408/324454.html

  • 相关阅读:
    Perface(TCP/IP 协议族)
    CHAPTER 2 Database Environment
    Chapter 1 Introduction
    2. Instructions: Language of the computer (指令:计算机语言)
    sed命令
    磁盘配额
    外设,镜像
    磁盘及文件系统挂载
    网络客户端工具命令
    TCP协议
  • 原文地址:https://www.cnblogs.com/changyiqiang/p/6223478.html
Copyright © 2020-2023  润新知