SoFunction
Updated on 2025-03-01

Detailed explanation of how to use the Android Volley framework

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);