AndroidからJSONをPOSTする
JSONはJSONObjectクラスを使うと簡単. HttpPostクラスはPOSTリクエストのラッパー DefaultHttpClientは実行を担当する.
JSONObject.putメソッドでキーとオブジェクトを関連づける. StringEntityでJSONObjectをStringEntityに変換. HttpPostのsetEntityはEntityをセット.EntityはBodyと考えて良さそう. HttpPostのsetHeaderメソッドで適切なヘッダを設定する.これが無いと受理されない. POSTの実行はDefaultHttpClientのexecuteメソッド. HttpResponseクラスはレスポンスを抽象化.getStatusLineメソッドでステータスを取得.
HttpPost httpPost = new HttpPost(url); DefaultHttpClient client = new DefaultHttpClient(); JSONObject jsonObject = new JSONObject(); try{ jsonObject.put("title", title); jsonObject.put("date", dateString); jsonObject.put("body", body); StringEntity se = new xStringEntity(jsonObject.toString()); httpPost.setEntity(se); httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Content-Type", "application/json"); HttpResponse response = client.execute(httpPost); } ...