Boolean variable response from server with json request in volley
suggest changeyou can custom class below one
private final String PROTOCOL_CONTENT_TYPE = String.format("application/json; charset=%s", PROTOCOL_CHARSET); public BooleanRequest(int method, String url, String requestBody, Response.Listener<Boolean> listener, Response.ErrorListener errorListener) { super(method, url, errorListener); this.mListener = listener; this.mErrorListener = errorListener; this.mRequestBody = requestBody; } @Override protected Response<Boolean> parseNetworkResponse(NetworkResponse response) { Boolean parsed; try { parsed = Boolean.valueOf(new String(response.data, HttpHeaderParser.parseCharset(response.headers))); } catch (UnsupportedEncodingException e) { parsed = Boolean.valueOf(new String(response.data)); } return Response.success(parsed, HttpHeaderParser.parseCacheHeaders(response)); } @Override protected VolleyError parseNetworkError(VolleyError volleyError) { return super.parseNetworkError(volleyError); } @Override protected void deliverResponse(Boolean response) { mListener.onResponse(response); } @Override public void deliverError(VolleyError error) { mErrorListener.onErrorResponse(error); } @Override public String getBodyContentType() { return PROTOCOL_CONTENT_TYPE; } @Override public byte[] getBody() throws AuthFailureError { try { return mRequestBody == null ? null : mRequestBody.getBytes(PROTOCOL_CHARSET); } catch (UnsupportedEncodingException uee) { VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", mRequestBody, PROTOCOL_CHARSET); return null; } } }
use this with your activity
try { JSONObject jsonBody; jsonBody = new JSONObject(); jsonBody.put("Title", "Android Demo"); jsonBody.put("Author", "BNK"); jsonBody.put("Date", "2015/08/28"); String requestBody = jsonBody.toString(); BooleanRequest booleanRequest = new BooleanRequest(0, url, requestBody, new Response.Listener<Boolean>() { @Override public void onResponse(Boolean response) { Toast.makeText(mContext, String.valueOf(response), Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(mContext, error.toString(), Toast.LENGTH_SHORT).show(); } }); // Add the request to the RequestQueue. queue.add(booleanRequest); } catch (JSONException e) { e.printStackTrace(); }
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents