Come get la risposta del server JSONObject in Volley

protected JSONObject executeGet(String URL) throws CloudAppException { JSONObject response = new JSONObject(); JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, URL, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject serverResponse) { try { response = serverResponse; VolleyLog.v("Response:%n %s", serverResponse.toString(4)); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.e("Error: ", error.getMessage()); } }); RequestHandler.addToRequestQueue(req); return response; } 

Idealmente, voglio analizzare la risposta da sola, ma sto chiudendo su come get il metodo executeGet per restituire la risposta del server.

  • Android ottiene i dati vCard da Intent
  • android.os.NetworkOnMainThreadException. Hai bisogno di utilizzare l'attività di async?
  • non può fare clic sulla row di listview con il button imagebutton
  • Come get la posizione GPS di Android
  • Quali sono le configurazioni push (host, port, username, password) per TextSecure Server
  • Android, c'è qualche modo per distriggersre la scrittura all'interno di un selezionatore di date utilizzando la tastiera?
  • Supporto multilingue personalizzato
  • Android Studio: import com.android.volley.xxxx Imansible risolvere il simbolo 'xxxx'
  • Ottieni l'ID video da youtube url utilizzando Android Youtube ApI v3
  • Android esegue la function dopo aver premuto "Enter" per EditText
  • Quando il thread del lavoratore funziona, l'UI diventa spezzato
  • android intent quando MY app è installato
  • One Solution collect form web for “Come get la risposta del server JSONObject in Volley”

    È necessario estendere la class di richiesta e nella class di richiesta personalizzata ignorare il metodo parseNetworkResponse e eseguire la propria analisi.

    Ecco un esempio:

     public class CustomRequest extends Request { // the response listener private Response.Listener listener; public CustomRequest(int requestMethod, String url, Response.Listener responseListener, Response.ErrorListener errorListener) { super(requestMethod, url, errorListener); // Call parent constructor this.listener = responseListener; } // Same as JsonObjectRequest#parseNetworkResponse @Override protected Response 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 public int compareTo(Request other) { return 0; } @Override protected void deliverResponse(Object response) { if (listener!=null) listener.onResponse(response); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.