AndroidでGETとPOST
AndroidからGETメソッドとPOSTメソッドでそれぞれリクエストを送る方法です。
POSTメソッドについてすこしハマりました。
GETメソッド
public static HttpUriRequest createListRequest(int offset){ return new HttpGet(LIST_URL + "?o=" + offset); }
POSTメソッド
public static HttpUriRequest createPreviewRequest(int id) { try { HttpPost request = new HttpPost(PREVIEW_URL); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("i", String.valueOf(id))); request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); return request; } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } }
どこでハマったのか
HttpUriRequestにsetParameterメソッドがあるので、そこに設定すればパラメータが設定できるもんだと思ってました…。
GDD2010のDevQuizのOAuthの問題でさんざんパラメータ設定できなかったのもこれにハマってたのが問題だったみたいです。*1
POSTのパラメータ設定は分かりづらい/めんどいですねー。。。
*1:そのときはライブラリを変えて対応しました