Here is a simple implementation of volley library in android ,
Create a calls and extend Application class, implements the volley request queue in it also initialize the static class object in it.
@Override
public void onCreate() {
super.onCreate();
context = this;
requestQueue = Volley.newRequestQueue(getApplicationContext());
}
Now create a static method that will returns the context of the class
public static synchronized AppInitializer getContext() {
return context;
}
Create a method that returns the singleton request queue
/**
* returns singleton request queue
* @return
*/
public RequestQueue getVolleyRequestQueu(){
return requestQueue;
}
now in your mainifest add name to the application to the class name created here.
<application
android:allowBackup="true"
android:name=".AppInitializer"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
Now create a class which will do network request using volley library and add the following method to it
public void requestJSON() {
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
/**
* todo add your code which will be exicuted on resoponse
* or you can send as it is json to the method that called it
* like
*/
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
// hide the progress dialog
/**
* todo send call back some error message to show that an error occured while making request.
*/
}
});
// add this request to the volley queue to be executed.
AppInitializer.getContext().getVolleyRequestQueu().add(jsonObjReq);
}
Call this method from where ever you want it will do the network request for you and fetch data in case of error it will go to the error block.
Last but not the least add internet permission in the manifest file.
<uses-permission android:name="android.permission.INTERNET" />
Example files and volley library jar file is included along this blog.
Do let me know if i forgot anything in comments
0 Comment(s)