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