AsyncHttp请求Post请求格式

来源:互联网 发布:java单引号和双引号 编辑:程序博客网 时间:2024/05/16 14:33

这种是可以自定义post的参数的格式的,一般使用json,详情请见(http://stackoverflow.com/questions/26842090/asynchttpclient-passed-contenttype-will-be-ignored-because-httpentity-sets-cont)举例说明

                AsyncHttpClient client = new AsyncHttpClient();                final String url = Utils.baseUrl+"regist.html";                JSONObject jsonObject = new JSONObject();                try {                    jsonObject.put("username",etPhoneNumber.getText());                    jsonObject.put("password",etPassword.getText());                } catch (JSONException e) {                    e.printStackTrace();                }                ByteArrayEntity entity = null;                try {                    entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8"));                    entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                }                client.post(mContext,url,entity,"application/json",new JsonHttpResponseHandler(){                    @Override                    public void onSuccess(int statusCode, Header[] headers, JSONObject response) {                        super.onSuccess(statusCode, headers, response);                        Log.e("rs",response.toString());                    }                    @Override                    public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {                        super.onFailure(statusCode, headers, throwable, errorResponse);                    }                });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

另一种是使用

post(java.lang.String url, RequestParams params, ResponseHandlerInterface responseHandler)
  • 1
  • 1

这个post方法,这种是就是常规的提价表单格式,齐参数的格式为username=yzk&password=yzk这种。使用举例

 final RequestParams params = new RequestParams();                params.put("username",etPhoneNumber.getText());                params.put("password",etPassword.getText());                client.post(url,params,new JsonHttpResponseHandler(){                    @Override                    public void onSuccess(int statusCode, Header[] headers, JSONObject response) {                        super.onSuccess(statusCode, headers, response);                        try {                            Log.e("rs",response.getString("status"));                            if(response.getString("status").equals("0")){                                user = User.getInsstance();                                user.setIsOnline(true);                                user.setToken(response.getString("token"));                                user.setId(etPhoneNumber.getText().toString());                                Toast.makeText(mContext,"注册成功",Toast.LENGTH_LONG).show();                                mContext.finish();                            }else{                                Toast.makeText(mContext,"改用已注册",Toast.LENGTH_LONG).show();                            }                        } catch (JSONException e) {                            e.printStackTrace();                        }                    }                    @Override                    public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {                        super.onFailure(statusCode, headers, throwable, errorResponse);                        Toast.makeText(mContext,"网络错误",Toast.LENGTH_LONG).show();                    }
原创粉丝点击