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

来源:互联网 发布:linux nbtscan 编辑:程序博客网 时间:2024/05/16 19:29

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<String>() {//            @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<JSONObject>() {            @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<String>() {//            @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<String, String> getParams() throws AuthFailureError {//                Map<String,String> 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<String, String> 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<JSONObject>() {            @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"

0 0
原创粉丝点击