Created
October 20, 2015 08:41
-
-
Save ultimateprogramer/1ac7a6748a5fd952c2eb to your computer and use it in GitHub Desktop.
CustomRequest is a way to solve the Volley's JSONObjectReuqest cant post paramsters like the StringRequest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.greenchiu.nets; | |
import java.io.UnsupportedEncodingException; | |
import java.util.Map; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
import com.android.volley.NetworkResponse; | |
import com.android.volley.ParseError; | |
import com.android.volley.Request; | |
import com.android.volley.Response; | |
import com.android.volley.Response.ErrorListener; | |
import com.android.volley.Response.Listener; | |
import com.android.volley.toolbox.HttpHeaderParser; | |
public class CustomRequest extends Request<JSONObject> { | |
private Listener<JSONObject> listener; | |
private Map<String, String> params; | |
public CustomRequest(String url, Map<String, String> params, Listener<JSONObject> reponseListener, ErrorListener errorListener) { | |
super(Method.GET, url, errorListener); | |
this.listener = reponseListener; | |
this.params = params; | |
} | |
public CustomRequest(int method,String url, Map<String, String> params, Listener<JSONObject> reponseListener, ErrorListener errorListener){ | |
super(method, url, errorListener); | |
this.listener = reponseListener; | |
this.params = params; | |
} | |
protected Map<String, String> getParams() throws com.android.volley.AuthFailureError { | |
return params; | |
}; | |
@Override | |
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { | |
try { | |
String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); | |
return Response.success(new JSONObject(jsonString), | |
HttpHeaderParser.parseCacheHeaders(response)); | |
} catch (UnsupportedEncodingException e) { | |
return Response.error(new ParseError(e)); | |
} catch (JSONException je) { | |
return Response.error(new ParseError(je)); | |
} | |
} | |
@Override | |
protected void deliverResponse(JSONObject response) { | |
// TODO Auto-generated method stub | |
listener.onResponse(response); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment