Here is another implementation using the Volley library ... a very useful hint from https://stackoverflow.com/a/16737/ ...
CustomRequest jsonObjReq = new CustomRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); } }, new Response.ErrorListener(){ @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG, "Error: " + error.getMessage()); Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
Custom Request Class
import android.util.Log; import com.android.volley.AuthFailureError; import com.android.volley.Response; import com.android.volley.toolbox.JsonObjectRequest; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class CustomRequest extends JsonObjectRequest { private String session_id = ""; public CustomRequest(int method, String url, JSONObject jsonRequest, Response.Listener listener, Response.ErrorListener errorListener) { super(method, url, jsonRequest, listener, errorListener); } public CustomRequest(int method, String url, JSONObject jsonRequest, String session_id, Response.Listener listener, Response.ErrorListener errorListener) { super(method, url, jsonRequest, listener, errorListener); this.session_id = session_id; } @Override public Map getHeaders() throws AuthFailureError { Map headers = new HashMap(); Log.d(TAG, " -> session_id = " + session_id); if(!(session_id.equals(""))) { headers.put("Cookie", this.session_id); } return headers; } }
A simple way to implement volleyball using a singleton pattern http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/
Remember to initialize mRequestQueue in onCreate () to avoid unexpected null pointer exception
@Override public void onCreate() { super.onCreate();
Hope this help too ...! :)
Bhuro Jul 20 '16 at 5:48 2016-07-20 05:48
source share