Android Volley Library Tutorial

Volley is a networking library that manages network requests and their response caches without the developer having to write a lot of “boilerplate” code.  Volley implements tools that allow for simultaneous requests to run on a pool of threads that can be given priority over one another.  All of this is done, while implementing a transparent cache that allows for quick reloading of data.   It is, however, not for everything.  Responses are delivered whole in memory, so it is less than ideal for large downloads such as music and movies.  It is alternatively geared towards smaller requests such as JSON files, images, and other files of that size and nature.

Some features of volley :

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

You can take a look at this presentation before continuing to tutorial to understand volley more.


Lets get started

1. Adding volley.jar to your project

In Android Studio create a new project by navigating to File ⇒ New ⇒ Android Application Project and fill required details. Volley can be added to project as gradle dependency in app level build.gradle file.

2. Creating Volley Singleton class

If your application makes constant use of the network, it’s probably most efficient to set up a single instance of RequestQueue that will last the lifetime of your app. You can achieve this in various ways. The recommended approach is to implement a singleton class that encapsulates RequestQueue and other Volley functionality.

A key concept is that the RequestQueue must be instantiated with the Application context, not an Activity context. This ensures that the RequestQueue will last for the lifetime of your app, instead of being recreated every time the activity is recreated (for example, when the user rotates the device).

Create java class in your application named And paste following code into it.

Now add highlighted lines to AndroidManifest.xml . Text added to line no. 13 will allow you to execute this class automatically whenever app launches.

3. Setting up UI.

We will be needing two buttons to request for string and JSON object from internet and a text view to show the fetched result . Now add following code to activity_main.xml

4. Creating helper classes

Now create a class named and add following code to it. This class is helper class for downloading String from network. Afterwards just create its object and request for string just by passing url to requestString method of this object.

Now create other helper class and copy following code to it. This will be used to download JSON object from specified URL.

5. Connecting it all

Now open and paste this code.

6. Build and run the project

You will be able to download data from network using volley library.


Technology enthusiast. Loves to tinker with things. Always trying to create something wonderful using technology. Loves coding for Android, Raspberry pi, Arduino , Opencv and much more.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *