Mega Code Archive

 
Categories / Android / Network
 

Http Client Manager

//package com.filmatchs.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; import org.apache.http.impl.client.DefaultHttpClient; // //import org.json.JSONArray; //import org.json.JSONException; //import org.json.JSONObject; import android.util.Log; /**  *   * @author dycode (khalifavi)  *   */ public class HttpClientManager {   public static final String TAG = "RestClient";   public static final int METHOD_GET = 0;   public static final int METHOD_POST = 1;   public static final int METHOD_PUT = 2;   public static final int METHOD_DELETE = 4;   //private String postfix = "";   private String result = null;   public HttpClientManager(String url) throws IOException,       ClientProtocolException {     this.result = connectResponse(url);   }   public HttpClientManager(String url, int method) throws IOException,       ClientProtocolException {     this.result = connectResponse(url, method);   }   public HttpClientManager(String url, int method, String postfix)       throws IOException, ClientProtocolException {     this.result = connectResponse(url, method, postfix);   }   public String getResult() {     return this.result;   }   private static String convertStreamToString(InputStream is) {     BufferedReader reader = new BufferedReader(new InputStreamReader(is));     StringBuilder sb = new StringBuilder();     String line = null;     try {       while ((line = reader.readLine()) != null) {         sb.append(line + "\n");       }     } catch (IOException e) {       e.printStackTrace();     } finally {       try {         is.close();       } catch (IOException e) {         e.printStackTrace();       }     }     return sb.toString();   }   /**    *     * @param url    *            URL untuk melakukan GET dengan mengembalikan JSON String    * @return String pengembalian nilai dari HTTP Request    */   public static String connectResponse(String url) throws IOException,       ClientProtocolException {     return connectResponse(url, METHOD_GET, null);   }   /**    *     * @param url    *            untuk mengambil JSON    * @param method    *            untuk dilakukan (GET, POST, PUT, DELETE)    * @return String pengembalian nilai dari HTTP Request    */   public static String connectResponse(String url, int method)       throws IOException, ClientProtocolException {     return connectResponse(url, method, null);   }   /**    *     * @param url    *            alamat URL    * @param method    *            untuk dilakukan (GET, POST, PUT, DELETE)    * @param returnType    *            tipe dari pengembalian (JSON, XML)    * @return String pengembalian nilai dari HTTP Request    */   public static String connectResponse(String url, int method, String postfix)       throws IOException, ClientProtocolException {     HttpClient httpClient = new DefaultHttpClient();     if (postfix == null) {       postfix = "";     }     String retval = "";     url += postfix;     HttpResponse response = null;     if (method == METHOD_POST) {       // -------------------------------- if POST       response = httpClient.execute(new HttpPost(url));     } else if (method == METHOD_PUT) {       // -------------------------------- if PUT       response = httpClient.execute(new HttpPut(url));     } else if (method == METHOD_DELETE) {       // -------------------------------- if DELETE       response = httpClient.execute(new HttpDelete(url));     } else {       // -------------------------------- default GET       response = httpClient.execute(new HttpGet(url));     }     Log.i(TAG, response.getStatusLine().toString());     HttpEntity entity = response.getEntity();     if (entity != null) {       InputStream instream = entity.getContent();       String result = convertStreamToString(instream);       retval = result;       instream.close();     }     return retval;   } }