遇到这个问题记录一下
private void login(){
OkHttpClient client = HttpUtils.getClient();
String userName = userNameEdit.getText().toString();
String userPwd = userPwdEdit.getText().toString();
String captcha = verifyCodeEdit.getText().toString();
if (userName.equals("")) {
showMsg("用户名不能为空");
return;
}
if (userPwd.equals("")) {
showMsg("密码不能为空");
return;
}
if (captcha.equals("")) {
showMsg("验证码不能为空");
return;
}
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
JSONObject json = new JSONObject();
try {
json.put("userName", userName);
json.put("userPwd", userPwd);
json.put("captcha", captcha);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(JSON, String.valueOf(json));
// RequestBody formBody = new FormBody.Builder()
// .add("userName", userName)
// .add("userPwd", userPwd)
// .add("verifyCode", captcha)
// .build();
final Request request = new Request.Builder()
.url(AppConfig.LOGIN_URL)
.post(requestBody)
.build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//此处涉及到ui操作,只能在主线程中操作ui
runOnUiThread(new Runnable() {
@Override
public void run() {
showMsg("请求服务器失败");
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Result result;
result = JSONObject.parseObject(response.body().string(),Result.class);
if(result.getCode() == 200){
showMsg("登录成功");
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
startActivity(intent);
finish();
}else{
showMsg(result.getMsg());
}
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
});
}