如何用AsyncHttpClient的post方法【发送JSON】

JSONObject body;是需要发送的json对象
getBodyTextAsJSON();方法可以将String转JSONObejct“`

private void sendPostWithJson(){
RequestParams params = new RequestParams();
params.setUseJsonStreamer(true);
JSONObject body;
if ((body = getBodyTextAsJSON()) != null) {
try {
Iterator keys = body.keys();
while (keys.hasNext()) {
String key = (String) keys.next();
Log.d(“hwj”, ” ” + key + “: ” + body.get(key));
params.put(key, body.get(key).toString());
}
} catch (JSONException e) {
Log.w(“hwj”, “Unable to retrieve a JSON value”, e);
}
}
AsyncHttpClient client = new AsyncHttpClient();
client.setProxy(“172.29.14.249”,8888);
client.post(this, “http://112.4.3.136:8080/portalone/homesdk/NetTVUniLogin“, null, params,
RequestParams.APPLICATION_JSON,new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int i, cz.msebera.android.httpclient.Header[] headers, byte[] bytes) {
Log.d(“hwj”, “AsyncHttpClientActivity onSuccess“);
}

        @Override
        public void onFailure(int i, cz.msebera.android.httpclient.Header[] headers, byte[] bytes, Throwable throwable) {
            Log.d("hwj", "**AsyncHttpClientActivity onFailure**");
        }
    });
}

protected JSONObject getBodyTextAsJSON() {
    String bodyText = "{\n" +
            "\"employees\": [\n" +
            "{ \"firstName\":\"Bill\" , \"lastName\":\"Gates\" },\n" +
            "{ \"firstName\":\"George\" , \"lastName\":\"Bush\" },\n" +
            "{ \"firstName\":\"Thomas\" , \"lastName\":\"Carter\" }\n" +
            "]\n" +
            "}";
    if (bodyText != null && !TextUtils.isEmpty(bodyText)) {
        try {
            return new JSONObject(bodyText);
        } catch (JSONException e) {
            Log.e("hwj", "User's data is not a valid JSON object", e);
        }
    }
    return null;
}

“`
更多的sample这边就不一一列举了,可以参考如下地址 asynchttpclient样例

该方法来源于 【彻底掌握网络通信(十)】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值