0

ボタンをクリックすると応答するアプリケーションを1つ作成しています

-- REQUEST HEADERS --
User-Agent: XYZ
Host: root.url
Content-Type: application/json; charset=utf-8
Content-Length: 123
...

-- REQUEST BODY --
{
    "Apikey": "abcdefgh-ijkl-mnop-qrst-uvwxyz12345",
    "Imei": "0123456789012354"
    "Gps": {
        "Latitude": 1.23,
        "Longitude": 4.56
    },
    // Request specifics go here 
}

httpポストメソッドを使用してこのデータを渡す方法

4

2 に答える 2

0

WebサービスはリクエストでJSONObjectを期待しているため、を使用してHTTPPost内でJSONObjectを作成して簡単に設定できますsetEntity()

例えば:

JSONObject objRequest = new JSONObject();
objRequest.put("Apikey","abcdefgh-ijkl-mnop-qrst-uvwxyz12345");
objRequest.put("Imei","0123456789012354");

JSONObject objGps = new JSONObject();
objGps.put("Latitude",1.23);
objGps.put("Longitude",4.56);

objRequest.put(Gps, objGps);

次に、リクエストデータを使用してWebサービスを呼び出す方法を示します。

try{
     HttpClient httpclient = new DefaultHttpClient();
     HttpPost httpPost= new HttpPost(url);

     post.addHeader("Content-Type", "application/json; charset=utf-8");    // addHeader()    
     httpPost.setEntity(new StringEntity(objRequest.toString(),"utf-8"));  // request data

     HttpResponse response = httpclient.execute(httpPost);
     HttpEntity entity = response.getEntity();
     is = entity.getContent();
 }catch(Exception e){
      Log.e("log_tag", "Error in http connection "+e.toString());
 }
于 2013-02-21T14:11:43.670 に答える