获取HttpResponse对象作为响应来自Android中的Volley api而不是jsonobject或字符串

时间:2016-07-24 08:22:09

标签: android android-studio android-volley httpresponse

您好我正在使用android studio并使用volley api进行网络通话。 因为将JsonObject和String作为来自网络调用的响应,这一切都很好。

是否可以从volley api获取HttpResponse?或者我们可以通过哪种方法检索HttpResponse?

由于我必须使用外部jar,在哪种方法中我可以将HttpResponse对象作为输入参数。

我们也从volley api获取NetworkResponse对象,我们可以从中获取HttpResponse吗?

1 个答案:

答案 0 :(得分:2)

虽然我对你所面临的问题或问题并不完全清楚。 让我猜你想从请求中得到Http响应,然后通过另一个API调用将它发布到服务器上?如果这是你的问题,简单的解决方案是覆盖makeStringReq()中的parseNetworkResponse

StringRequest strReq = new StringRequest(Method.GET,
        Const.URL_STRING_REQ,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.d(TAG, response.toString());
                msgResponse.setText(response.toString());
                hideProgressDialog();

            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                hideProgressDialog();
            }
        }) {

    @Override
    protected Response<String> parseNetworkResponse(NetworkResponse response) {
        int mStatusCode = response.statusCode;
        return super.parseNetworkResponse(response);
    }
};

// Adding request to request queue
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);

然后您可以将 mStatusCode 发布到服务器。

如果我错了我想到的只是让我知道。 **如果有遗嘱,有一种方法**,你知道:)