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, mListener, mErrorListener));