使用Volley Android库发送XML数据

时间:2015-04-15 20:15:58

标签: android xml http post android-volley

我想使用Volley Library在请求主体中使用XML格式的数据向我的服务器发出一个简单的POST请求。 是否可以使用StringRequest实现? 提前谢谢!

1 个答案:

答案 0 :(得分:4)

无法将StringRequest用于自定义正文。但您可以延长StringRequestRequest来覆盖getBody()方法。

这是最简单的方法:

public class CustomBodyStringRequest extends StringRequest {
    private final String requestBody;

    public CustomBodyStringRequest(String url, String requestBody, Response.Listener<String> listener,
                                   Response.ErrorListener errorListener) {
        super(Method.POST, url, listener, errorListener);
        this.requestBody = requestBody;
    }

    @Override
    public byte[] getBody() throws AuthFailureError {
        byte[] body = null;
        if (!TextUtils.isEmpty(this.requestBody)) {
            try {
                body = requestBody.getBytes(getParamsEncoding());
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException("Encoding not supported: " + getParamsEncoding(), e);
            }
        }

        return body;
    }
}

您可能还希望使用getBodyContentType()

等内容覆盖application/xml