Q:

Is there a recommended way of doing post request in android?

Is there a recommended way of doing post request in android? because before I use HttpPost and HttpClient for executing post request but these classes are now deprecated in API level 22.

A:

Yeah, they are deprecated. You can use Volley which is recommended by Google Dev.

Volley offers the following benefits:
  Automatic scheduling of network requests.
  Multiple concurrent network connections.
  Transparent disk and memory response caching with standard HTTP cache coherence.
  Support for request prioritization.
  Cancellation request API. You can cancel a single request, or you can set blocks or scopes of requests to cancel.
  Ease of customization, for example, for retry and backoff.
  Strong ordering that makes it easy to correctly populate your UI with data fetched asynchronously from the network.

Volley is very easy to use:
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";

// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
        new Response.Listener<String>() {
@Override
public void onResponse(String response) {
    // Display the first 500 characters of the response string.
    mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
    mTextView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);

