1. HttpClient ve HttpPost oluşturulması :
Aşağıdaki kodlamada uygulamamıza ait http clienti ve http post isteği oluşturulmaktadır. Örnek link olarak http://yazilimdersi.info/urunlerlistesi kullandım. Bunu kendinize ait herhangi bir link ile değiştirebilirsiniz:
Aşağıdaki kodlamada uygulamamıza ait http clienti ve http post isteği oluşturulmaktadır. Örnek link olarak http://yazilimdersi.info/urunlerlistesi kullandım. Bunu kendinize ait herhangi bir link ile değiştirebilirsiniz:
# http clienti oluşturuldu. HttpClient httpClient = new DefaultHttpClient(); # http post oluşturuldu. HttpPost httpPost = new HttpPost("http://yazilimdersi.info/urunlerlistesi");
2. Post parametrelerinin hazırlanması :
Aşağıdaki kodlamada örnek verilen linke erişim esnasında gönderilecek parametrelerin setlenmesi sağlanmaktadır:
Aşağıdaki kodlamada örnek verilen linke erişim esnasında gönderilecek parametrelerin setlenmesi sağlanmaktadır:
# ulke ve sehir parametreleri setlenmektedir. List<NameValuePair> ulkeSehirParametreleri = new ArrayList<NameValuePair>(2); ulkeSehirParametreleri.add(new BasicNameValuePair("ulke", "Turkiye")); ulkeSehirParametreleri.add(new BasicNameValuePair("sehir", "Ankara"));
3. Post edilecek verilerin urlencode edilmesi :
Aşağıdaki kodlamada post verisi olarak hazırlanan parametrelerin nasıl urlencode edildiği gösterilmektedir. Burada UrlEncodedFormEntity metodu kullanılmaktadır:
Aşağıdaki kodlamada post verisi olarak hazırlanan parametrelerin nasıl urlencode edildiği gösterilmektedir. Burada UrlEncodedFormEntity metodu kullanılmaktadır:
# post parametrelerinin urlencode edilmesi try { httpPost.setEntity(new UrlEncodedFormEntity(ulkeSehirParametreleri)); } catch (UnsupportedEncodingException e) { # hataların loglara yazılması e.printStackTrace(); }
4. Http isteğinin yapılması :
Son olarak http isteğinin gerçekleştirilmesine geldi sıra. Burada da execute() metodu önemli bir işlem göstermektedir:
Son olarak http isteğinin gerçekleştirilmesine geldi sıra. Burada da execute() metodu önemli bir işlem göstermektedir:
# http isteğinin yapılması try { HttpResponse response = httpClient.execute(httpPost); # dönen sonuçların görüntülenmesi Log.d("Http Response:", response.toString()); } catch (ClientProtocolException e) { # hataların loglara yazılması e.printStackTrace(); } catch (IOException e) { # hataların loglara yazılması e.printStackTrace(); }Yukarıda yazılan kodlama ile birlikte http isteği gerçekleştirilmiştir. Aşağıda bu kodların tümünün görüntülendiği sınıfa ait kodlama bulunmaktadır:
package com.androidhive.httprequests; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class AndroidHTTPIstegiActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); # http isteği oluşturuldu. HttpClient httpClient = new DefaultHttpClient(); # http post isteği oluşturuldu. HttpPost httpPost = new HttpPost("http://yazilimdersi.info/urunlerlistesi"); # parametrelerin setlenmesi List<NameValuePair> ulkeSehirParametreleri = new ArrayList<NameValuePair>(2); ulkeSehirParametreleri.add(new BasicNameValuePair("ulke", "Turkiye")); ulkeSehirParametreleri.add(new BasicNameValuePair("sehir", "Ankara")); # post parametrelerinin urlencode edilmesi try { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair)); } catch (UnsupportedEncodingException e) { # hataların loglara yazılması e.printStackTrace(); } # http isteğinin gerçekleştirilmesi try { HttpResponse response = httpClient.execute(httpPost); # hataların loglara yazılması Log.d("Http Response:", response.toString()); } catch (ClientProtocolException e) { # hataların loglara yazılması e.printStackTrace(); } catch (IOException e) { # hataların loglara yazılması e.printStackTrace(); } } }