Google volley框架的几种用法
图片加载
/** * ImageLoader */ private void testImageView() { RequestQueue mQueue = Volley.newRequestQueue(mContext); ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache()); ivImageView.setDefaultImageResId(R.mipmap.ic_launcher); ivImageView.setErrorImageResId(R.mipmap.ic_launcher); ivImageView.setImageUrl(imageUrl,imageLoader); } /** * ImageLoader */ private void testImageLoader() { RequestQueue mQueue = Volley.newRequestQueue(mContext); ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache()); ImageLoader.ImageListener listener = ImageLoader.getImageListener(ivImageLoad, R.mipmap.ic_launcher, R.mipmap.ic_launcher); imageLoader.get(imageUrl, listener, 200, 200); } /** * ImageRequest */ private void testImageRequest() { RequestQueue mQueue = Volley.newRequestQueue(mContext); ImageRequest imageRequest = new ImageRequest(imageUrl, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) { ivImageReq.setImageBitmap(response); } }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { ivImageReq.setImageResource(R.mipmap.ic_launcher); } }); mQueue.add(imageRequest); }
数据请求
/** * JsonObjectRequest */ private void testJsonRequest() { RequestQueue mQueue = Volley.newRequestQueue(mContext); JsonObjectRequest jsonRequest = new JsonObjectRequest(jsonUrl, 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); } }); mQueue.add(jsonRequest); } private void testJsonArrRequest() { RequestQueue mQueue = Volley.newRequestQueue(mContext); JsonArrayRequest jsonRequest = new JsonArrayRequest(jsonUrl, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray jsonArray) { Log.d("TAG", jsonArray.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }); mQueue.add(jsonRequest); } /** * StringRequest */ private void testStringRequest() { RequestQueue mQueue = Volley.newRequestQueue(mContext); StringRequest stringRequest = new StringRequest(jsonUrl, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }); mQueue.add(stringRequest); } private void testPostRequest() { RequestQueue mQueue = Volley.newRequestQueue(mContext); StringRequest stringRequest = new StringRequest(Request.Method.POST, "aa", new Response.Listener<String>() { @Override public void onResponse(String s) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { } }) { @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; } }; mQueue.add(stringRequest); }
兼容API23需添加jar包:org.apache.http.legacy.jar
参考:
Android Volley完全解析(一),初识Volley的基本用法