AndroidでVolleyを使ったシンプルな通信
もうね書くのが面倒だからソースをそのまま書いていく アクセスが無いとこうなるのかな
[java] String url ="http://www.google.co.jp/"; if(mQueue == null) mQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest stringRequest = new StringRequest(Request.Method.GET , url ,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
text1.setText(response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
text1.setText("That didn't work... " + error.getMessage());
}
}
);
mQueue.add(stringRequest);
mQueue.start();
[/java]
ネットワーク接続を許可するためAndroidManiphest.xmlをいじる必要が有ることと、結果のテキストはresponse.toString()に格納されることを意識すれば特に問題はない。 さて付加情報を単純にテキストをいじって作ればいいか。別にクラスを用意するか悩むところだ。
IDEに言われるがままにimportしたパッケージたち [java] import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; [/java]
mQueueはメンバ変数として先にRequestQueue型で宣言。 またソース中のテキストビューも同様に宣言し、別のところでfindViewByIdしてますよ。
通信が楽になったしエラーもerror.getMessage()で詳しく教えてくれるから便利だなあ。