Volley的使用(一)

  开头先扯会淡,最近晚上回家都在做毕设,奈何自己的本子编译速度感人,只能边看书边build,小说都看完一章了,代码终于编译好了,然后电脑死机了,喜闻乐见。
  夜深了,邻居的狗也不叫了,总结一下有关网络框架使用的心得,公司的项目用的是一个模仿android-async-http的自定义框架,大致看了一下源码,感觉上简化了android-async-http,不过速度没问题,就是写起来麻烦,方便各种异步传输,调试的时候很方便。我图方便,平时都使用Volley。
  Volley是谷歌出的一款网络框架,有一段时间了,知道它的基本上都会用,简单说一下,先上一段代码。
StringRequest stringRequest = new StringRequest(Method.POST, url,  
new Response.Listener() {
                    @Override
                    public void onResponse(String arg0) {

                        return;
                    }
                },
new Response.ErrorListener() {  
            @Override  
            public void onErrorResponse(VolleyError error) {  
                Log.i(TAG,error.getMessage());  
            }  
        });
  最基本的用法,Volley的特点就是队列,不是单纯的你请求访问网络它就会去,它会先将请求添加到一个缓存的队列,如果命中,就去从缓存中读取,分发到主线程响应,丢失就从网络调度线程取,进行网络请求,再去响应主线程,大致是这样。
RequestQueue mRequestQueue =   mRequestQueue = getRequestQueue();
  每次请求前,都要获取队列。
mQueue.add(stringRequest);
  最后将请求添加到队列中去,貌似只有三步,简洁吗?科科, listener,errorListener展开了写就会占很大的空间,要是都放在Activity中,那就不用看了,读代码太痛苦了。
  简单说一下封装的思路,先上代码:
StringRequest request = HttpProcessManager.getInstance().loginUser(Constant.HOST_USER_LOGIN, telno, pass);
        VolleyManager.getInstance(getApplicationContext()).addToRequestQueue(request);
  两句话,搞定。HttpProcessManager工具类调用对应的方法获取请求,再用VolleyManager直接加入队列。下一篇详解。