I've used the Android HTTP Client available here and found it very simple and easy to use.
You can then do a POST with code something like below:
public class HTTPClient
{
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler)
{
client.get(url, params, responseHandler);
}
public static void get(String url, FileAsyncHttpResponseHandler responseHandler)
{
client.get(url, responseHandler);
}
public static void post(Context context, String url, StringEntity entity, String contentType, AsyncHttpResponseHandler responseHandler)
{
client.post(context, url, entity, contentType, responseHandler);
}
}
HTTPClient.post(this, <server_url>, entity, "application/json", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response)
{
// Do Something
}
@Override
public void onFailure(Throwable error, String content)
{
// Do Something else
}
});