Basic Understanding of Volley, Android Networking Library Series • Part #1 • Beginners

Hello guys, Welcome to the Android World..! Nice to meet you, in this blog we’re gonna look basic common Understanding of Volley which the Android Networking Library. Before going on to practical you should learn how library works on it’s architecture and blah blah.


Volley is an HTTP library that offers networking very clear and fast for Android apps. It was originated because there is an absence in the Android SDK of a networking class capable of working without interfering with the user experience. It manages the processing and caching of network requests. And it saves developers valuable time from writing the same network call/cache code again and again.
Volley is not suitable for large download or streaming operations since Volley holds all responses in memory during parsing.

The Volley library has features like automated scheduling of network requests, multiple concurrent connections, request prioritization, cancel/block an application, easier management of UI with data fetched asynchronously from the network, and easier customization. Volley uses the cache to improve the App performance by saving memory and bandwidth of the remote server.

Volley Uses

Volley uses caches theory to enhance the performance of the App. For example, let’s say you are using AsyncTask to fetch image and description from a JSON array created in server API. The content is carried in the portrait mode, and now the user rotates the screen to change it to landscape mode. The activity is destroyed, and so the content will be fetched again since the user is calling the same resource again to a server. Hence, it is a waste of resources and, ultimately, a poor user experience.
Volley provides a solution to this problem as it caches the data when users request the same data; instead of calling from the server, Volley directly shows it from cache saving resources and improving user experience.

Volley Features

  • Request queuing and prioritization.
  • Effective request cache and memory management.
  • Extensibility and customization of the library to our needs.
  • Cancelling the requests.

Volley Advantages

  • All the task that need to be done with Networking in Android, can be done with the help of Volley.
  • Automatic scheduling of network requests.
  • Catching.
  • Multiple concurrent network connections.
  • Cancelling request API.
  • Request prioritization.
  • Volley provides debugging and tracing tools.
Architecture of Volley

Working with Volley

Volley is a networking library maintained by the RequestQueue and mainly used for tinier Networking purposes in Android. To use it, first, you need to instantiate the RequestQueue, and following on, you can start or stop request, add or cancel request and access the response cache(s).

RequestQueue queue = Volley.newRequestQueue(this);

After instantiating RequestQueue, a request must be created. The default request classes already included in Volley library are String request, JSON request, and image request. You can also create a custom request by extending Volley’s request class.

Volley Parameters

JsonObjectRequest request = JsonObjectRequest(Request.Method.GET, url, 
new ResponseListener(), new ErrorListener();
  • First Parameter [Request.Method.GET] – The GET is used to read. You can also use POST (to create), PUT (To update/replace), DELETE (to delete), PATCH (to update/modify) and more.
  • Second Parameter [URL] – The URL that will respond to the HTTP request.
  • Third Parameter [Successful Response Listener] – Where your data will go after the request is complete.
private class ResponseListener implements Response.Listener{
      public void onResponse(JSONObject response){
         //Do Something
  • Fourth Parameter [Error Listener] – What will be told if there was a problem with your request. For example, you can display it in Log to see the error.
private class ErrorListener implements Response.ErrorListener{
      public void onErrorResponse(VolleyError error){
         //Do Something

Now the last step is to add your request to Request queue and rest volley will handle for you.


Here you can also add more requests to the queue that you would like at one time and the response will be send to their respective response/error classes.


We came to an end of part 1, hope you enjoyed reading it. I can assure that, you grabbed knowledge on Basic Flow of Volley. Wait for the next blog, it’ll have some practical stuffs into it. And finally, I appreciate for spend your time for my blog. Thanks.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.