volley简单使用

1.引入:

implementation 'com.mcxiaoke.volley:library:1.0.19'

2.post请求

简介:适用于数据量不大但是通信频繁的场景, 如:带图片的列表

1.创建请求队列对象

2.创建请求对象,StringRequest :获取字符串结果的请求   JsonRequest:获取json请求结果 ImageRequest : 获取图片请求结果

3.将请求添加到队列中

  public void LoginRequest(final String user, final String password) {
        String url = "http://" + ip + "" + port + "/GoBang/LoginServlet";
        String tag = "login";
        //取得请求队列
        RequestQueue requestQueue = Volley.newRequestQueue(context);
        //防止重复请求,所以先取消tag标识的请求队列
        requestQueue.cancelAll(tag);

        //创建StringRequest,定义字符串请求的请求方式为POST
        final StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.d("TAG", response);
                try {
                    JSONObject jsonObject = (JSONObject) new JSONObject(response).get("params");
                    String result = jsonObject.getString("result");
                    if (result.equals("success")) { //登录成功
                        // TODO: 2019/2/23  跳转页面
                        LoginActivity.loginhandler.sendEmptyMessage(1);
                        Toast.makeText(context, "登录成功", Toast.LENGTH_SHORT).show();
                    } else { //登录失败
                        Toast.makeText(context, "账号或密码不正确", Toast.LENGTH_SHORT).show();
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
                Toast.makeText(context, "网络错误请稍后重试", Toast.LENGTH_SHORT).show();
            }
        }) {
            //重写此方法传递参数
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("user", user);
                params.put("password", password);
                return params;
            }
        };
        request.setTag(tag);
        //将请求加到队列中
        requestQueue.add(request);
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值