android Volley 学习摘记

来源:互联网 发布:js阻止鼠标右键事件 编辑:程序博客网 时间:2024/05/14 06:31

Android Volley完全解析(一),初识Volley的基本用法 http://blog.csdn.net/guolin_blog/article/details/17482095

Android网络框架Volley http://blog.csdn.net/jdsjlzx/article/details/40738181 (推荐-简洁)

Android Studio添加Volley依赖包 http://blog.csdn.net/peng_hong_fu/article/details/52334639

添加依赖包的方法:

1. build.gradle,添加中compile 'com.mcxiaoke.volley:library:1.0.+'      //1.0.19

2. git clone https://android.googlesource.com/platform/frameworks/volley   

3. 下载jar包

Volley的回调函数发生在在UI主线程,即可在回调函数操作UI界面

1. StringRequest 

  (1)基本用法

 RequestQueue mQueue = Volley.newRequestQueue(context); 

 StringRequest stringRequest = new StringRequest("https://www.baidu.com",      //StringRequest的构造函数需要传入三个参数
                        new Response.Listener<String>() {  
                            @Override  
                            public void onResponse(String response) {  

                                Log.d("TAG", response); 

Toast.makeText(MainActivity.this, "Volley 请求成功", Toast.LENGTH_SHORT).show();

                            }  
                        }, new Response.ErrorListener() {  
                            @Override  
                            public void onErrorResponse(VolleyError error) {  
                                Log.e("TAG", error.getMessage(), error);  
                            }  

                        });

 mQueue.add(stringRequest);


  (2) 使用post方法以及添加参数

 StringRequest stringRequest = new StringRequest(Method.POST, url,  listener, errorListener);

 StringRequest stringRequest = new StringRequest(Method.POST, url,  listener, errorListener) {  
    @Override  
    protected Map<String, String> getParams() throws AuthFailureError {  
        Map<String, String> map = new HashMap<String, String>();  
        map.put("params1", "value1");  
        map.put("params2", "value2");  
        return map;  
    }  
};


2. JsonRequest(抽象类,两个子类JsonObjectRequest和JsonArrayRequest)

 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://m.weather.com.cn/data/101010100.html", null,  
        new Response.Listener<JSONObject>() {  
            @Override  
            public void onResponse(JSONObject response) {  
                Log.d("TAG", response.toString());  
            }  
        }, new Response.ErrorListener() {  
            @Override  
            public void onErrorResponse(VolleyError error) {  
                Log.e("TAG", error.getMessage(), error);  
            }  
        });

 3. ImageRequest 

 ImageRequest imageRequest = new ImageRequest(  
        "http://developer.android.com/images/home/aw_dac.png",  
        new Response.Listener<Bitmap>() {  
            @Override  
            public void onResponse(Bitmap response) {  
                imageView.setImageBitmap(response);  
            }  
        }, 0, 0, Config.RGB_565, new Response.ErrorListener() {  
            @Override  
            public void onErrorResponse(VolleyError error) {  
                imageView.setImageResource(R.drawable.default_image);  
            }  
        });



原创粉丝点击