相比新的网络请求框架Volley真的很落后,一无是处吗,要知道Volley是由google官方推出的,虽然推出的时间很久了,但是其中依然有值得学习的地方。  从命名我们就能看出一些端倪,volley中文意为群射,齐射,官方解释说它适合通信频繁但是数据量不大的网络请求操作( a burst or emission of many things or a large amount at once ),至于为什么我们解读完源码就知道了。

  回想下使用Volley的过程:比如请求一个网页的内容。

  1. 创建RequestQueue对象

 RequestQueue mQueue = Volley.newRequestQueue(MyApplication.getInstance());

  2. 先创建一个StringRequest对象

private StringRequest stringRequest = new StringRequest(
            Request.Method.GET,
            "https://www.baidu.com",
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.d(TAG, "current thread :" + Thread.currentThread().getName());  // main thread
                    ((TextView)findViewById(R.id.content)).setText(response);
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.d(TAG, "error :" + error.getMessage());
                }
            }
    ) ;
View Code

相关文章: