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; } }