Android端如何用okhttp3向springboot后台请求实现登录功能

废话不多说

第一步:导入依赖

第二步:开通网络权限(只有第一个也行)

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

第三步:算了,直接贴代码吧

  String uname=uinfo.getText().toString().trim();
                    String upwd=pwd.getText().toString().trim();

                    RequestBody requestBody = new FormBody.Builder()
                            .add("uname", uname)
                            .add("upwd", upwd)
                            .build();
                    OkHttpClient client = new OkHttpClient.Builder().build();
                    Request request = new Request.Builder()
                            .url("http://自己电脑的IP4的地址(win+R,输入ipconfig),尽量连接局域网:后端端口号/user/login")
                            .post(requestBody)
                            .build();

                    client.newCall(request).enqueue(new Callback() {
                        @Override
                        public void onFailure(@NonNull Call call, @NonNull IOException e) {
                            Log.e(TAG, "onFailure: " + call.toString());
                        }
                        @Override
                        public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
                            String res = response.body().string();
                            Log.d("返回信息", res);
                            try {
                                JSONObject object=new JSONObject(res);
                                if(object.getInt("code")==200){
                                    Intent intent1 = new Intent(Login.this, MainActivity.class);
                                    startActivity(intent1);
                                }else{
                                    runOnUiThread(new Runnable() {
                                        @Override
                                        public void run() {
                                            if(TextUtils.isEmpty(uname)){
                                                Toast.makeText(Login.this, "用户名不能为空", Toast.LENGTH_SHORT).show();
                                            }
                                            else if(TextUtils.isEmpty(upwd)){
                                                Toast.makeText(Login.this, "密码不能为空", Toast.LENGTH_SHORT).show();
                                            }else{
                                                Toast.makeText(Login.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
                                            }
                                        }
                                    });
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }
                    });

结果如下:

Tip:如果是小白的话,建议自己去敲,这样才能提升自己的代码能力哦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嘀嗒咕噜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值