在Android Parse.com中 如果已添加具有相同用户名的数据,则应避免重新输入所有相同数据 如何实现?
答案 0 :(得分:0)
它很简单,首先进行查询并在尝试保存之前获取用户名。如果查询返回为空,那么您知道用户名不存在,现在您可以推送新数据。
如果您使用解析用户表,则无需执行此检查。当您尝试推送现有用户名时,Parse会自动检查您。
答案 1 :(得分:0)
试试这个:它检查用户名是否已经存在:
public void register(final View v){
if(mUsernameField.getText().length() == 0 || mPasswordField.getText().length() == 0)
return;
v.setEnabled(false);
ParseUser user = new ParseUser();
user.setUsername(mUsernameField.getText().toString());
user.setPassword(mPasswordField.getText().toString());
//mErrorField.setText("");
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Intent intent = new Intent(RegisterActivity.this, LoggedIn.class);
startActivity(intent);
finish();
} else {
// Sign up didn't succeed. Look at the ParseException
// to figure out what went wrong
switch(e.getCode()){
case ParseException.USERNAME_TAKEN:
mErrorField.setText("Sorry, this username has already been taken.");
break;
case ParseException.USERNAME_MISSING:
mErrorField.setText("Sorry, you must supply a username to register.");
break;
case ParseException.PASSWORD_MISSING:
mErrorField.setText("Sorry, you must supply a password to register.");
break;
default:
mErrorField.setText(e.getLocalizedMessage());
}
v.setEnabled(true);
}
}
});
}