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<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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时代新人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值