繁体   English   中英

如何在给定教程中使用Volley在Android中发送Json POST请求?

[英]How to send Json POST request using Volley in android in the Given Tutorial?

嗨,我是Android的初学者,我正在学习拨打Api电话。 我得到了Volley的教程,该教程使用GET接收响应。 现在,我想使用Volley发送发帖请求。 我不知道该怎么做,给定教程中POST的代码是什么。 请指导我发送发帖请求。我正在学习的教程的链接为http://www.truiton.com/2015/02/android-volley-example/

您必须使用以下代码发送请求

// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";

// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        // Display the first 500 characters of the response string.
        mTextView.setText("Response is: "+ response.substring(0,500));
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        mTextView.setText("That didn't work!");
    }
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
    try {
        /** json object parameter**/
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("hello", "hello");
        Log.e("jsonObject params", jsonObject.toString() + "");
        /**URL */
        String url ="http://google.com"

        progress.setVisibility(View.VISIBLE);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject jsonObject) {
                progress.setVisibility(View.GONE);
                Log.e(TAG, "Response " + jsonObject.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                progress.setVisibility(View.GONE);
                Log.e(TAG, volleyError);
                Util.showToast(activity, "Please try again");
            }
        });
        requestQueue.add(jsonObjectRequest);

    } catch (JSONException e) {
        progress.setVisibility(View.GONE);
        Log.e(TAG, e);
    }
    catch (Exception e) {
            progress.setVisibility(View.GONE);
            Log.e(TAG, e);
        }
    }
}

RequestQueue queue = Volley.newRequestQueue(this);
queue.add(jsonObjectRequest);

您可以按照以下步骤操作: http : //www.androidhive.info/2014/05/android-working-with-volley-library-1/

StringRequest request = new StringRequest(Method.POST,
        "post url",

        new ResponseListener() {

            @Override
            public void onResponse(String response) {
                Log.d("response", response);

                } catch (Exception e) {
                    e.printStackTrace();
                }

            }

        }, new ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                     Log.e("response","error");
            }

        }) {

   // post params
    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        Map<String, String> params = new HashMap<String, String>();
        params.put("param", "param");
        return params;
    }

};
//2.Use your custom volley manager  send request or like this

Volley.newRequestQueue(mCtx).add(request);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM