2017-11-07 1 views
8

Ich benutze volley und ich habe eine Warteschlange, um einige APIs zu rufen. Die Warteschlange wird aus einer Datenbank gefüllt.Get Volley Anfrage Tag als Antwort

, bevor sie von zu volley Anforderungswarteschlange gesetzt I Anforderungsmarkierungs Aufruf

jsonObjectRequest.setTag(id);

Als Antwort möchte ich entfernen, um eine Spalte aus der database die Spalte id gleich anfordern Tag-ID hinzugefügt Anfrage.

Also, wie kann ich Request-Tag in HttpRequestresponse bekommen?

+0

Dies könnte Ihnen helfen [Link] (https://stackoverflow.com/questions/36127870/how-to-set-tag-to-the-request-and-get-it-from-response-volley-asynchronous -reque) –

+0

@MohammedFarhan Also meinst du, ich muss den Quellcode von Volley in meiner Anwendung kompilieren? – FarshidABZ

+0

genau diese Antwort wird akzeptiert, so dass Sie folgen müssen. –

Antwort

4

Erstellen Sie zunächst einen Listener, die Antwort von Ihrer volly Klasse geben

/** Callback interface for delivering parsed responses. */ 
public interface Listener { 
    /** Called when a response is received. */ 
    public void onResponse(Object tag, JSONObject response); 
    public void onErrorResponse(Object tag, VolleyError error); 
} 

Und nun Methode erstellen, wie unten, wo Sie passieren Hörer und Tag und volly Anfrage nennen. Als Antwort können Sie Tag und Antwort gleichzeitig erhalten.

public void callApi(String url, final Listener listener, final Object tag){ 
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET, 
      url, null, 
      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        listener.onResponse(tag,response); 
       } 
      }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      listener.onErrorResponse(tag,error); 
     } 
    }); 

    // Adding request to request queue 
    AppController.getInstance().addToRequestQueue(jsonObjReq); 
} 

Sein nur Beispielcode, Sie können auf Ihre Anforderung ändern. Wenn Sie Hilfe benötigen, kommentieren Sie.