• Android Volley框架的使用(1)


    在Android开发中,经常要通过HTTP请求访问网络。为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley。Volley使用起来非常简单,适用于网络访问频繁、通信数据量小的情况。

    下载volley.jar文件并导入工程,加上访问网络的权限,就可以使用Volley框架访问网络了。

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

    访问的过程也十分简单:(1)创建一个请求队列;(2)创建请求对象;(3)将请求对象加入请求队列。这三个步骤完成以后,请求队列就可以自动、并发的实现网络访问了。多个请求对象可以加入到同一个请求队列中,因此一个Activity只需要一个请求队列就行了。

    1. 创建请求队列

    定义请求队列:

    private RequestQueue mQueue;

    创建请求队列:

    mQueue = Volley.newRequestQueue(MainActivity.this);

    2. 创建请求对象并加入请求队列

    Volley有两种请求对象:StringRequest和JSONRequest。

    (1) StringRequest

        private void stringRequest(){
            StringRequest stringRequest = new StringRequest("http://www.126.com",
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            Log.i("Response:", response);
                        }
                    }, new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.i("Error:", error.getMessage(), error);
                        }
                    });
            mQueue.add(stringRequest);
        }

    可以看见定义了一个StringRequest对象,然后将其加入到RequestQueue就可以了。StringRequest有三个参数:第一个是要访问的URL(这里是http://www.126.com);第二个是收到服务器响应的回调函数;第三个是服务器响应失败的回调函数。运行的结果如下:

    (2) JsonObjectRequest

        private void jsonRequest(){
            JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://192.168.199.18:8080/MySchool/aclasquery", 
                    null,
                    new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            Log.i("Response:", response.toString());
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.i("Error:", error.getMessage(), error);
                        }
                    });
            mQueue.add(jsonObjectRequest);
        }

    可以看见和StringRequest的使用基本上差不多,只不过StringRequest返回的是字符串,而JsonObjectRequest返回的是一个JSONObject。运行结果如下:

  • 相关阅读:
    cube.js 上下文实践的一些说明
    sitespeed.io 开源web 性能监控&&优化工具集
    sideway/joi js 强大的data schma 校验框架
    cube.js 最新版本的一些特性
    cube.js 支持的类型以及格式化
    cube.js 多租户模式使用一个说明
    airbyte 基于singer 扩展的EL 平台
    cube.js dimensions 的一些说明
    cube.js measures 的一些说明
    cube.js 上下文变量
  • 原文地址:https://www.cnblogs.com/mstk/p/5190650.html
Copyright © 2020-2023  润新知