Android HttpClient

In this blog post, you can learn android source code on how to post data to a url by using a httpclient post method.

Please find below the very simple android source code example for dealing with httpclient post. This simple code executes a http post request with org.apache.http.client.HttpClient and can be used in the combination with Non-Blocking Web Requests.


public void postData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.website.com/phpscript.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("id", "9449"));
        nameValuePairs.add(new BasicNameValuePair("stringdata", "android"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }

Creating HTTP Client and HTTP Post

// Creating a HTTP client
HttpClient httpClient = new DefaultHttpClient();

// Creating a HTTP Post
HttpPost httpPost = new HttpPost("http://www.androidsourcecodeexamples.com/index");


Create post parameters with key and value.

List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("email", "xxx@gmail.com"));
nameValuePair.add(new BasicNameValuePair("password", "xxx_password"));


At last we should execute the httpPost using httpClient which is created previously.

// Making HTTP Request
try {
    HttpResponse response = httpClient.execute(httpPost);

    // writing response to log
    Log.d("Http Response:", response.toString());

} catch (ClientProtocolException e) {
    // writing exception to log
    e.printStackTrace();
         
} catch (IOException e) {
    // writing exception to log
    e.printStackTrace();
}


Please find below the full android code units to make a http Request. This example is for response to the log. For http response see your eclipse log report.


package com.udhaya.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 AndroidHTTPRequestsActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        // Creating HTTP client

        HttpClient httpClient = new DefaultHttpClient();
        // Creating HTTP Post
        HttpPost httpPost = new HttpPost("http://www.example.com/login");


        // Building post parameters

        // key and value pair
        List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
        nameValuePair.add(new BasicNameValuePair("email", "xxx@gmail.com"));
        nameValuePair.add(new BasicNameValuePair("sms",android http post"));


        // Url Encoding the POST parameters

        try {
            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
        } catch (UnsupportedEncodingException e) {
            // writing error to Log
            e.printStackTrace();
        }


        // Making HTTP Request

        try {
            HttpResponse response = httpClient.execute(httpPost);


            // writing response to log

            Log.d("Http Response:", response.toString());
        } catch (ClientProtocolException e) {
            // writing exception to log
            e.printStackTrace();
        } catch (IOException e) {
            // writing exception to log
            e.printStackTrace();


        }

    }
}

1 comment:

  1. Pearlet is the learning application of day trading at Forex for beginners.Using an attractive easy layout and strategy, the application allows player to learn the basics of the FOREX trading and increase the odds of winning.
    Forex game simulator

    ReplyDelete

My Profile