gpt4 book ai didi

带有正文的 android-async-http post 请求

转载 作者:行者123 更新时间:2023-11-30 01:31:50 25 4
gpt4 key购买 nike

需要实现用户可以在应用程序中向服务器发送反馈的功能。我在应用程序中使用asynchttpclient。但我不知道该怎么做。任何人知道该怎么做请告诉我,非常感谢。

要求如下:

  1. 使用post request with body(有一个参数suggestion content)
  2. api:api/user/feedback?company_id=&access_token=

在查看asynchttpclient的post方法时,发现有以下几个方法: public RequestHandle post(String url, ResponseHandlerInterface responseHandler) { 返回帖子(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();
}



}
});


}

我想你是在问这个例子。

关于带有正文的 android-async-http post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com