This article mainly explains the usage of the Android Volley framework from two aspects. The specific content is as follows
1. Network request
Request data
// 1 Create a request queueRequestQueue requestQueue = (); // 2 Create a requestString url = "/PageSubArea/"; StringRequest stringRequest = new StringRequest(url, new <String>() { // Correctly receive data callbacks @Override public void onResponse(String s) { tv_volley_result.setText(s); } }, new () {// Listen callback after an exception occurs @Override public void onErrorResponse(VolleyError volleyError) { tv_volley_result.setText("Loading failed" + volleyError); } }); // 3 Add the created request to the request queue(stringRequest);
Request data
// 1 Create a request queueRequestQueue requestQueue = (); // 2 Create a post requestString url = "/PageSubArea/"; StringRequest stringRequest = new StringRequest(, url, new <String>() { @Override public void onResponse(String s) { tv_volley_result.setText(s); } }, new () { @Override public void onErrorResponse(VolleyError volleyError) { tv_volley_result.setText("Request failed" + volleyError); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); // ("value1","param1"); return map; } }; // 3 Add post request to queue(stringRequest);
3. Request Json data
// 1 Create a request queueRequestQueue requestQueue = (); // 2 Create a requestString url = "/PageSubArea/"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(url, null, new <JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { tv_volley_result.setText(()); } }, new () { @Override public void onErrorResponse(VolleyError volleyError) { tv_volley_result.setText("Request failed" + volleyError); } }); // 3 Add the created request to the request queue(jsonObjectRequest);
2. Picture loading
Loading pictures
// 1 Create a request queueRequestQueue requestQueue = (); // 2 Request to create an imageString url = "/mg/2016/10/11/160347."; ImageRequest imageRequest = new ImageRequest(url, new <Bitmap>() { @Override public void onResponse(Bitmap bitmap) { // Correctly receive pictures iv_volley_result.setImageBitmap(bitmap); } }, 0, 0, .RGB_565, new () { @Override public void onErrorResponse(VolleyError volleyError) { iv_volley_result.setImageResource(.atguigu_logo); } }); // 3 Add the request to the request queue(imageRequest);
Loading pictures
// Create a request queueRequestQueue requestQueue = (); ImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapCache()); // Load the pictureString url = "/mg/2016/10/11/160347."; imageListener = (iv_volley_result, .atguigu_logo, .atguigu_logo); (url, imageListener);
public class BitmapCache implements { private LruCache<String, Bitmap> mCache; public BitmapCache() { int maxSize = 10 * 1024 * 1024;// 10m mCache = new LruCache<String, Bitmap>(maxSize) { @Override protected int sizeOf(String key, Bitmap bitmap) { return () * (); } }; } @Override public Bitmap getBitmap(String url) { return (url); } @Override public void putBitmap(String url, Bitmap bitmap) { (url, bitmap); } }
Loading pictures
< android: android:layout_width="200dp" android:layout_height="200dp" android:visibility="gone"> </>
// Create a request queueRequestQueue requestQueue = (); // Create an ImageloaderImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapCache()); // Default picture and exception picture settingsiv_volley_networkimagview.setDefaultImageResId(.atguigu_logo); iv_volley_networkimagview.setErrorImageResId(.atguigu_logo); // Load the pictureString url = "/mg/2016/10/11/160347."; iv_volley_networkimagview.setImageUrl(url, imageLoader);