button_loginin.setOnClickListener(new View.OnClickListener() {
@
Override public void onClick(View v) {
User user = new User();
//登陆
user.setPhone(phone.getText().toString());
user.setPassword(password.getText().toString());
url = "https://www.apiopen.top/login?key=" + user.getKey() + "&phone=" + user.getPhone() + "&passwd=" + user.getPassword();
getjson(url); //获取数据并以 jsonobject 存储在 json 中
user=getUser();
if (("成功!").equals(user.getMsg())) {
intent.putExtra("user", user);
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "账号不存在或密码错误", Toast.LENGTH_SHORT).show();
}
}
});
public User getUser() {
User user1 = new User();
try {
JSONObject data1= json.getJSONObject("data"); //更新 user 内的数据
user1.setPhone(data1.getString("phone"));
user1.setCreatedTime(data1.getString("createTime"));
user1.setMsg(json.getString("msg"));
} catch (Exception e) {
// TODO: handle exception
}
return user1;
}
主要代码如上,我查了一下,大概是多线程的锅,但是新手不大懂要怎么解决,用锁的话只能锁方法吧,不知道要怎么做才能在第一次点击后,跳转之前成功更新数据?用 sleep 函数貌似也没有用,谢谢各位大佬