Java Parseuser在后台保存,但仍保存到它';引发异常时的本地存储
我想允许用户更新他们的电子邮件,当他们正确输入所有内容时,它工作正常,但当他们不这样做时,奇怪的事情发生了 因此,对于这个示例(我一直在测试的示例),当前用户电子邮件是Java Parseuser在后台保存,但仍保存到它';引发异常时的本地存储,java,android,email,parse-platform,Java,Android,Email,Parse Platform,我想允许用户更新他们的电子邮件,当他们正确输入所有内容时,它工作正常,但当他们不这样做时,奇怪的事情发生了 因此,对于这个示例(我一直在测试的示例),当前用户电子邮件是email@gmail.com他们想用h取代它作为他们的电子邮件 以下是更新用户电子邮件的代码 // get current user currentUser = ParseUser.getCurrentUser(); // get user input (shortened to show result) final Stri
email@gmail.com
他们想用h
取代它作为他们的电子邮件
以下是更新用户电子邮件的代码
// get current user
currentUser = ParseUser.getCurrentUser();
// get user input (shortened to show result)
final String email = "h";
// reset user email
currentUser.setUsername(email);
currentUser.setEmail(email);
// save progress
currentUser.saveInBackground(new SaveCallback()
{
@Override
public void done(ParseException e)
{
if (null == e)
{
// success
// tell user of success
Toast.makeText(getActivity(), "new email is " + email,
Toast.LENGTH_SHORT).show();
// restart activity to update information
restartActivity();
}
else
{
// update failed
// look at the ParseException to see what happened.
errorMessageDialog("Oops!", e.getMessage());
}
}
});
所以很明显会抛出一个解析异常,它不是一个有效的电子邮件地址,当我检查数据库时就是这样。所有行中均未更新任何内容;但是,如果我稍后查看当前电子邮件,则会发生意外情况
// get current user
currentUser = ParseUser.getCurrentUser();
// get username
currentUser.getUsername();
// get email
currentUser.getEmail();
当我运行代码时,它会显示我的电子邮件和用户名是h
,但如果我检查数据库,它仍然是example@gmail.com
即使数据库抛出异常,parse仍然会更新其本地缓存?我不知道问题出在哪里可能saveInBackground(new SaveCallback()
使用的方法是否错误