2017-11-07 15 views
8

私はボレーを使用しており、いくつかのAPIを呼び出すキューがあります。キューはデータベースから入力されます。応答でボレーリクエストタグを取得

私が受けて

jsonObjectRequest.setTag(id);

を呼び出すことにより、要求タグを設定しvolleyリクエストキューにリクエストを追加する前に、私は列のIDが要求タグIDに等しいdatabaseから列を削除したいです。

だから、どうすればリクエストタグをHttpRequestresponseにすることができますか?

+0

これはあなたを助けるかもしれません[リンク](https://stackoverflow.com/questions/36127870/how-to-set-tag-to-the-request-and-get-it-from-response-volley-asynchronous -reque) –

+0

@MohammedFarhanだから、私のアプリケーションでは、ボレーのソースコードをコンパイルする必要があるのですか? – FarshidABZ

+0

その答えが受け入れられるので、それに従う必要があります。 –

答えて

4

まず、あなたのvollyクラス

/** 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); 
} 

からの応答を与えるそして今、あなたがリスナーとタグを渡すところ、以下のような方法を作成し、volly要求を呼び出すリスナーを作成します。応答では、同時にタグと応答を得ることができます。

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); 
} 

サンプルコードは、あなたの要件を変更することができます。ヘルプのコメントが必要な場合。

関連する問題