Here is the requirement:
While I check the post method of asynchttpclient,I just found the following methods: public RequestHandle post(String url, ResponseHandlerInterface responseHandler) { return post(null, url, null, responseHandler); }
// [-] HTTP POST
// [+] HTTP PUT
/**
* Perform a HTTP POST request with parameters.
*
* @param url the URL to send the request to.
* @param params additional POST parameters or files to send with the request.
* @param responseHandler the response handler instance that should handle the response.
* @return RequestHandle of future request process
*/
public RequestHandle post(String url, RequestParams params, ResponseHandlerInterface responseHandler) {
return post(null, url, params, responseHandler);
}
/**
* Perform a HTTP POST request and track the Android Context which initiated the request.
*
* @param context the Android Context which initiated the request.
* @param url the URL to send the request to.
* @param params additional POST parameters or files to send with the request.
* @param responseHandler the response handler instance that should handle the response.
* @return RequestHandle of future request process
*/
public RequestHandle post(Context context, String url, RequestParams params, ResponseHandlerInterface responseHandler) {
return post(context, url, paramsToEntity(params, responseHandler), null, responseHandler);
}
/**
* Perform a HTTP POST request and track the Android Context which initiated the request.
*
* @param context the Android Context which initiated the request.
* @param url the URL to send the request to.
* @param entity a raw {@link cz.msebera.android.httpclient.HttpEntity} to send with the request, for
* example, use this to send string/json/xml payloads to a server by
* passing a {@link cz.msebera.android.httpclient.entity.StringEntity}.
* @param contentType the content type of the payload you are sending, for example
* application/json if sending a json payload.
* @param responseHandler the response ha ndler instance that should handle the response.
* @return RequestHandle of future request process
*/
public RequestHandle post(Context context, String url, HttpEntity entity, String contentType, ResponseHandlerInterface responseHandler) {
return sendRequest(httpClient, httpContext, addEntityToRequestBase(new HttpPost(getURI(url)), entity), contentType, responseHandler, context);
}
/**
* Perform a HTTP POST request and track the Android Context which initiated the request. Set
* headers only for this request
*
* @param context the Android Context which initiated the request.
* @param url the URL to send the request to.
* @param headers set headers only for this request
* @param params additional POST parameters to send with the request.
* @param contentType the content type of the payload you are sending, for example
* application/json if sending a json payload.
* @param responseHandler the response handler instance that should handle the response.
* @return RequestHandle of future request process
*/
public RequestHandle post(Context context, String url, Header[] headers, RequestParams params, String contentType,
ResponseHandlerInterface responseHandler) {
HttpEntityEnclosingRequestBase request = new HttpPost(getURI(url));
if (params != null) request.setEntity(paramsToEntity(params, responseHandler));
if (headers != null) request.setHeaders(headers);
return sendRequest(httpClient, httpContext, request, contentType,
responseHandler, context);
}
/**
* Perform a HTTP POST request and track the Android Context which initiated the request. Set
* headers only for this request
*
* @param context the Android Context which initiated the request.
* @param url the URL to send the request to.
* @param headers set headers only for this request
* @param entity a raw {@link HttpEntity} to send with the request, for example, use
* this to send string/json/xml payloads to a server by passing a {@link
* cz.msebera.android.httpclient.entity.StringEntity}.
* @param contentType the content type of the payload you are sending, for example
* application/json if sending a json payload.
* @param responseHandler the response handler instance that should handle the response.
* @return RequestHandle of future request process
*/
public RequestHandle post(Context context, String url, Header[] headers, HttpEntity entity, String contentType,
ResponseHandlerInterface responseHandler) {
HttpEntityEnclosingRequestBase request = addEntityToRequestBase(new HttpPost(getURI(url)), entity);
if (headers != null) request.setHeaders(headers);
return sendRequest(httpClient, httpContext, request, contentType, responseHandler, context);
}
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("key", value);
client.post(context, URL_YOURURL,
params, new AsyncHttpResponseHandler() {
Progress pd = new Progress(context);
public void onStart() {
super.onStart();
pd.show();
}
@Override
public void onSuccess(int arg0,
Header[] arg1, byte[] arg2) {
try {
JSONObject json = new JSONObject(
new String(arg2));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(int arg0,
Header[] arg1, byte[] arg2,
Throwable arg3) {
}
public void onFinish() {
super.onFinish();
if(pd!=null){
pd.dismiss();
}
}
});
}
I think You are asking for this example.