1,添加依赖

compile 'com.android.volley:volley:1.0.0'

2,Volley post请求

  • 接口文档

Volley网络请求自定义 post实现

  • Volley内部没有提供设置请求参数,需要我们自定义进行封装

public class PostRequest extends StringRequest 

    public PostRequest(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {

        super(Method.POST,url, listener, errorListener);

    }

    HashMap<String,String> map = new HashMap<>();

    @Override

    protected Map<String, String> getParams() throws AuthFailureError {

        return map;

    }

    /**

     * 添加请求体参数

     * @param key

     * @param value

     */

    public void addPostParams(String key,String value){

        map.put(key,value);

    }

post请求

  •  
private void volleyPost() {

    //1.创建请求队列

    RequestQueue requestQueue = Volley.newRequestQueue(this);

    //2.创建请求对象

    PostRequest request = new PostRequest(Api.LOGIN, new Response.Listener<String>() {

        @Override

        public void onResponse(String response) {

            tvResult.setText(response);

        }

    },errListener);

    //设置请求体参数

    request.addPostParams("username","The Monkey King!");

    request.addPostParams("password","golden cudgel!");

    //3.执行请求

    requestQueue.add(request);

}

//失败回调

Response.ErrorListener errListener = new Response.ErrorListener() {

    @Override

    public void onErrorResponse(VolleyError error) {

        tvResult.setText(error.getMessage());

    }

};

 

相关文章: