Вот еще одна реализация, использующая библиотеку Volley ... очень полезный совет от https://stackoverflow.com/a/36496607/3099185
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();
// hide the progress dialog
}
});
Пользовательский класс запросов
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;
}
}
Простой способ реализациизалп с использованием шаблона синглтона http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/
Не забудьте инициализировать mRequestQueue в onCreate (), чтобы избежать непредвиденного исключения нулевого указателя
@Override
public void onCreate() {
super.onCreate();
// initialize the singleton
sInstance = this;
mRequestQueue = Volley.newRequestQueue(this);
}
Надеюсь, эта помощь тоже ...!:)