Membuat Kelas HTTP GET dan POST di Android

Sebagai programmer Android, sering kali kita harus membuat aplikasi yang dapat terhubung ke server. Kasus seperti ini biasanya digunakan untuk aplikasi android yang memanfaatkan web service. Android telah menyediakan satu kelas yang dapat kita gunakan untuk menghubungkan aplikasi yang kita buat ke server yaitu dengan menggunakan kelas HTTPClient dengan memanfaatkan metode pengiriman HTTP GET dan POST di Android. Dengan menggunakan metode GET atau POST, HTTP Client bisa mengambil informasi dari server dengan mengirimkan data melalui URI walaupun bisa juga dengan form yang menggunakan metode GET yang mana ujung – ujungnya data tersebut tetap dikirimkan juga melalui URI.

HTTP GET dan POST di Android

Karena baris program yang panjang maka saya buat dalam bentuk kelas sehingga jauh lebih mudah untuk digunakan berkali-kali. Kelas ini saya beri nama CustomHttpClient, kelas tersebut sering saya pakai dalam setiap aplikasi yang terhubung ke server. Berikut source programnya :

Kelas CustomHttpClient.java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.ArrayList;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

//class ini digunakan untuk proses client dalam akese ke media internet
public class CustomHttpClient {
 public static final int HTTP_TIMOUT = 30 * 1000;
 private static HttpClient mHttpClient;
 private static HttpClient getHttpClient() {
  if (mHttpClient == null) {
   mHttpClient = new DefaultHttpClient();
   final HttpParams param = mHttpClient.getParams();
   HttpConnectionParams.setConnectionTimeout(param, HTTP_TIMOUT);
   HttpConnectionParams.setSoTimeout(param, HTTP_TIMOUT);
   ConnManagerParams.setTimeout(param, HTTP_TIMOUT);

  }
  return mHttpClient;
 }
 public static String executeHttpPost(String url, ArrayList < NameValuePair > postParameters) throws Exception {
  BufferedReader in = null;
  try {
   HttpClient client = getHttpClient();
   HttpPost request = new HttpPost(url);
   UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
   request.setEntity(formEntity);
   HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

   StringBuffer sb = new StringBuffer("");
   String line = "";
   String NL = System.getProperty("line.separator");
   while ((line = in .readLine()) != null) {
    sb.append(line + NL);
   } in .close();
   String result = sb.toString();
   return result;

  } finally {
   if ( in != null) {
    try { in .close();
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }

 }
 public static String executeHttpGet(String url) throws Exception {
  BufferedReader in = null;
  try {
   HttpClient client = getHttpClient();
   HttpGet request = new HttpGet();
   request.setURI(new URI(url));
   HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

   StringBuffer sb = new StringBuffer("");
   String line = "";
   String NL = System.getProperty("line.separator");
   while ((line = in .readLine()) != null) {
    sb.append(line + NL);
   } in .close();
   String result = sb.toString();
   return result;
  } finally {
   if ( in != null) {
    try { in .close();
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }
 }
}

Kelas diatas akan selalu kita manfaatkan dalam tutorial icaksama.COM yang terhubung ke server. Jadi simpan baik-baik kelas ini 🙂 Demikian artikel kali ini,  semoga bermanfaat 🙂

Ayo! Segera daftarkan email kamu untuk berlangganan!

Comments (1)

permisi master saya mau konsultasi tentang pemrograman android dengan database mysql dengan android studio.. ketika import org.apache.http.httpClient di class java selalu eror ya..mohon petunjuk master yg bijaksana

Leave a comment