Volley发送参数和JSON正文

时间:2018-07-10 05:30:51

标签: android android-volley

我想向服务器发送一些数据,并且该数据具有一些参数,并且具有大量的JSON。我正在尝试使用Volley发送此数据。 出于某种原因,从未调用过getParams()函数。

这是我的代码:

final StringRequest stringReq = new StringRequest(Request.Method.POST, API_URL, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        if (Util.IS_DEBUG_LOGGABLE) {
            Log.d(TAG, "onResponse: Sent Data");
        }
        Toast.makeText(getContext(), R.string.config_changed, Toast.LENGTH_SHORT).show();
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        if (Util.IS_DEBUG_LOGGABLE) {
            Log.d(TAG, "onErrorResponse: Data Not Sent Because server could not verify");
        }
        Toast.makeText(getContext(), getString(R.string.msg_data_not_sent, error), Toast.LENGTH_SHORT).show();
    }
}) {

    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        Map<String, String> pars = new HashMap<>();
        if (Util.IS_DEBUG_LOGGABLE) {
            Log.d(TAG, "getParams: Called");
        }
        pars.put(PARAM1, "testf18");
        pars.put(PARAM2, "Save");
        return pars;
    }

    @Override
    public byte[] getBody() throws AuthFailureError {
        try {
            if (Util.IS_DEBUG_LOGGABLE) {
                Log.d(TAG, "getBody: Called");
            }
            return response.toString().getBytes("utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", response.toString(), "utf-8");
            return null;
        }
    }
};

RequestHelperClass.addToRequestQueue(stringReq, getContext());

请帮助。

0 个答案:

没有答案