更新当前用户唯一字段时,未从解析中获取正确的异常消息。 如果我使用现有用户名更新用户名并使用解析发送更新请求(保存)它正确显示。现在我重新设置用户名并给出现有的电子邮件和更新,它返回用户名存在异常消息而不是返回电子邮件存在消息。
public void updateUserData(UserModel userModel) throws ParseException {
ParseUser user = ParseUser.getCurrentUser();
if (user != null && userModel != null){
if(userModel.getFirstName() != null) {
user.put(Constants.FIRST_NAME, userModel.getFirstName());
}
if(userModel.getLastName() != null) {
user.put(Constants.LAST_NAME, userModel.getLastName());
}
if(userModel.getUsername() != null) {
user.setUsername(userModel.getUsername());
}
if(userModel.getEmail() != null) {
user.setEmail(userModel.getEmail());
}
if (userModel.getPassword() != null) {
user.setPassword(userModel.getPassword());
}
if (userModel.getAvatar() != null) {
ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
file.save();
user.put("imageFile", file);
}
user.save();
}
}
提前致谢, 如果有任何问题,请发布。
答案 0 :(得分:0)
更改此代码。
if (userModel.getAvatar() != null) {
final ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
file.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
// TODO Auto-generated method stub
if (e == null) {
// success
user.put("imageFile", file);
// exit from one thered
UpdateDatabase(user);
} else {
// fail
e.getMessage();
}
}
});
}
然后这个代码副本&糊。
protected void UpdateDatabase(ParseUser user) {
// TODO Auto-generated method stub
// before update parse table then set user permisson like read & write
user.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
// TODO Auto-generated method stub
if (e == null) {
// success
} else {
// fail
e.getMessage();
}
}
});
}