Hi i am trying to do a simple HTTP post to a PHP based server which accepts a POST data $\_POST['username'].

```
public void sendMessage(View view){

    String result = "";

    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);

    Toast.makeText(
            getApplicationContext(),
            "Attempting to open second activity",
            Toast.LENGTH_LONG
    ).show();

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("username","ghost"));

    InputStream is = null;

    // ATTEMPT HTTP POST
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://example.com/getuserbyuname");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
    }catch(Exception e){
            Log.e("log_tag", "Error in http connection (Reason: " + e.toString() + " )");
    }

```

The server will then return a JSON formatted message like this:

```
{"response":"404"}

```

I am having a problem with android.os.NetworkOnMainThread. I am aware that this is due to my routine is trying to do Network related operation from within the main UI Thread.

I did try this:

```
public class AccountConnector extends AsyncTask <String, Integer, Long>{

@Override
protected Long doInBackground(String... params)
{
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("username","bond"));

    InputStream is = null;

    // ATTEMPT HTTP POST
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://example.com/getuserbyuname");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
    }catch(Exception e){
            Log.e("log_tag", "Error in http connection (Reason: " + e.toString() + " )");
    }
    return null;
}

```

... rest of code is omitted ...

Can anyone point me to the right direction?