Android Post a JSON Object to the WEB SERVICE.
Impotent:
here developer better use the posting with in separate thread, if you want to use in main thread it's getting exception.
(any button click)button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final int TIMEOUT_MILLISEC = 10000; // = 10 seconds
Thread t = new Thread(){
public void run() {
Looper.prepare();
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost("----- any post url here -----");
//set post request type
request.setHeader(HTTP.CONTENT_TYPE, "application/json; charset=utf-8");
//request result type
request.setHeader("Accept", "application/json; charset=utf-8");
JSONObject json = new JSONObject();
try {
json.put("object_key1", "Value1").toString();// Example key, values
json.put("object_key2", "Value2").toString();
json.put("object_key3", "Value3").toString();
JSONArray mainArr = new JSONArray();
for(int i = 0; i < 3; i++){
JSONObject mainObj = new JSONObject();
mainObj.put("key1", "any Value");
mainObj.put("key2", "any Value");
JSONArray innerArr = new JSONArray();
for(int k = 0; k < 4 ; k++){
JSONObject innerObj = new JSONObject();
innerObj.put("inner_key1", "any Value");
innerArr.put(innerObj);
}
mainObj.put("innerArr", innerArr).toString();
mainArr(mainObj);
}
json.put("inner_array", mainArr).toString();
Log.i("jason Object", json.toString());
StringEntity se = new StringEntity(json.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
request.setEntity(se);
HttpResponse response = client.execute(request);
String temp = EntityUtils.toString(response.getEntity());
Log.i("tag_responce", temp);
} catch (Exception e) {
e.printStackTrace();
}
Looper.loop(); //Loop in the message queue
}
};
t.start();
}
});
No comments:
Post a Comment