Volley StringRequest

Google I/O 2013 Volley StringRequest は、簡単な要求を実行するのに便利だ。

説明のし易さの為なのか、以下のような記述をネット上では良く見かける。

StringRequest req = new StringRequest(Method.GET, url
   , new Response.Listener<String>(){
      @Override
      public void onResponse(String response){
         // 正常レスポンス
      }
   }, new Response.ErrorListener(){
      @Override
      public void onErrorResponse(VolleyError error){
         // エラーレスポンス
      }
   }
);

自分も、好きな書き方ではあるのだが、ボタンクリックなどのイベントの都度、
リクエスト生成と一緒にリスナ生成を実行してしまうのは、どうかと思う。

だから実践は、、、


RequestQueue mQueue;


@Override
protected void onCreate(Bundle savedInstanceState){

   mQueue = Volley.newRequestQueue(this);
   mQueue.start();

}


private Response.Listener<String> mListener = new Response.Listener<String>(){

   @Override
   public void onResponse(String response){
      // 正常レスポンス
   }
};
private Response.ErrorListener mErrorListener = new Response.ErrorListener(){
   @Override
   public void onErrorResponse(VolleyError error){
      // エラーレスポンス
   }
};

何かのイベントで、、、


mQueue
.add(new StringRequest(Method.GET, url, mListenermErrorListener));