Volley的get和post请求方式的使用

Volleygetpost请求 其中get和post还分别可以使用

StringRequest、JsonObjectRequest和 JsonArrayRequest三种方式,下面把整理的StringRequest和JsonObjectRequest两种方式的源码付在下面供大家参考:

1、volley请求之Get请求:

private void volley_Get() {

        //使用StringRequest
//        String url = "http://httpbin.org/get?site=code&network=tutsplus";
//        StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener() {
//            @Override
//            public void onResponse(String s) {
//                Log.e("onResponse===","onResponse-"+s);
//                tv_content.setText(s);
//            }
//        }, new Response.ErrorListener() {
//            @Override
//            public void onErrorResponse(VolleyError volleyError) {
//                tv_content.setText(volleyError.toString());
//            }
//        });
//        request.setTag("abcGet");
//        MyApplication.getHttpQueues().add(request);

        //使用JsonObjectRequest
        String url = "http://httpbin.org/get?site=code&network=tutsplus";
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener() {
            @Override
            public void onResponse(JSONObject jsonObject) {
                tv_content.setText("请求结果:\n" + jsonObject.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                Toast.makeText(MainActivity.this, volleyError.toString(), Toast.LENGTH_LONG).show();
            }
        });
        request.setTag("abcGet");
        MyApplication.getHttpQueues().add(request);
    }

2、volley请求之Post请求:

private void volley_Post() {

        //使用StringRequest
//        String url = "http://httpbin.org/post?";
//        StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener() {
//            @Override
//            public void onResponse(String s) {
////                tv_content.setText("请求结果:\n"+s);
//                JSONObject jsonObject = null;
//                try {
//                    jsonObject = new JSONObject(s);
//                    String m = jsonObject.getString("data");
//                    String n = jsonObject.getJSONObject("form").getString("site");
//                    tv_content.setText(m+n);
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                }
//            }
//        }, new Response.ErrorListener() {
//            @Override
//            public void onErrorResponse(VolleyError volleyError) {
//                tv_content.setText(volleyError.toString());
//            }
//        }){
//            @Override
//            protected Map getParams() throws AuthFailureError {
//                Map hashMap = new HashMap<>();
//                hashMap.put("site","code");
//                hashMap.put("network","tutsplus");
//                return hashMap;
//            }
//        };
//        request.setTag("abcPost");
//        MyApplication.getHttpQueues().add(request);

        //使用JsonObjectRequest
        String url = "http://httpbin.org/post?";
        HashMap map = new HashMap<>();
        map.put("site", "code");
        map.put("network", "tutsplus");
        JSONObject object = new JSONObject(map);
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, object, new Response.Listener() {
            @Override
            public void onResponse(JSONObject jsonObject) {
                tv_content.setText(jsonObject.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                tv_content.setText(volleyError.toString());
            }
        });
        request.setTag("abcPost");
        MyApplication.getHttpQueues().add(request);
    }
 
  

新建一个Application

public class MyApplication extends Application {

    public static RequestQueue queues;

    @Override
    public void onCreate() {
        super.onCreate();
        queues = Volley.newRequestQueue(getApplicationContext());
    }

    public static RequestQueue getHttpQueues(){
        return queues;
    }
}

同时还要注意在AndroidManifest.xml里添加网络权限


<uses-permission android:name="android.permission.INTERNET"/>
 
  
在application里加上android:name=".MyApplication"

你可能感兴趣的:(Volley的get和post请求方式的使用)