废话不多说
第一步:导入依赖
第二步:开通网络权限(只有第一个也行)
<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:如果是小白的话,建议自己去敲,这样才能提升自己的代码能力哦。