注册前检查 ParseUser 是否存在
Check if ParseUser exists before signing up
我是 Android 的初学者,我正在寻找一种方法来检查 Android 中的解析数据 class(User) 中是否已经存在用户名.
btnreg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ParseUser user = new ParseUser();
user.setUsername(etmail.getText().toString());
user.setPassword(etpwd.getEditableText().toString());
user.put("nom_prenom", etname.getText().toString());
user.put("tel", ettel.getText().toString());
user.put("adresse", adresse.getText().toString());
user.put("sexe", spsexs.getSelectedItem().toString());
user.put("annee_naissance",spnaissance.getSelectedItem().toString());
user.put("ville", spville.getSelectedItem().toString());
user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
// Show a simple Toast message upon successful registration
} else {
alerte("Oupss!!", "Error..." + e.getMessage(), 0);
}
}
public void done(com.parse.ParseException e) {
alerte("Succes", "Inscription terminée..", 1);
}
});
我想检查解析中是否存在用户名:如果存在我想显示错误或消息 ("username already taken")。
你为什么要这样做? parse 会自己为你完成。
您可以使用在 SignUpCallback 的完成方法中获得的 ParseException 对象来跟踪此问题。
尝试获取该 ParseException 的消息。
检查 ParseUI 模块可能对您有所帮助,它们涵盖了所有这些场景。这是来自 ParseSignupFragment.java 的验证片段:
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException e) {
if (isActivityDestroyed()) {
return;
}
if (e == null) {
loadingFinish();
signupSuccess();
} else {
loadingFinish();
if (e != null) {
debugLog(getString(com.parse.ui.R.string.com_parse_ui_login_warning_parse_signup_failed) +
e.toString());
switch (e.getCode()) {
case ParseException.INVALID_EMAIL_ADDRESS:
showToast(com.parse.ui.R.string.com_parse_ui_invalid_email_toast);
break;
case ParseException.USERNAME_TAKEN:
showToast(com.parse.ui.R.string.com_parse_ui_username_taken_toast);
break;
case ParseException.EMAIL_TAKEN:
showToast(com.parse.ui.R.string.com_parse_ui_email_taken_toast);
break;
default:
showToast(com.parse.ui.R.string.com_parse_ui_signup_failed_unknown_toast);
}
}
}
}
});
我是 Android 的初学者,我正在寻找一种方法来检查 Android 中的解析数据 class(User) 中是否已经存在用户名.
btnreg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ParseUser user = new ParseUser();
user.setUsername(etmail.getText().toString());
user.setPassword(etpwd.getEditableText().toString());
user.put("nom_prenom", etname.getText().toString());
user.put("tel", ettel.getText().toString());
user.put("adresse", adresse.getText().toString());
user.put("sexe", spsexs.getSelectedItem().toString());
user.put("annee_naissance",spnaissance.getSelectedItem().toString());
user.put("ville", spville.getSelectedItem().toString());
user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
// Show a simple Toast message upon successful registration
} else {
alerte("Oupss!!", "Error..." + e.getMessage(), 0);
}
}
public void done(com.parse.ParseException e) {
alerte("Succes", "Inscription terminée..", 1);
}
});
我想检查解析中是否存在用户名:如果存在我想显示错误或消息 ("username already taken")。
你为什么要这样做? parse 会自己为你完成。
您可以使用在 SignUpCallback 的完成方法中获得的 ParseException 对象来跟踪此问题。
尝试获取该 ParseException 的消息。
检查 ParseUI 模块可能对您有所帮助,它们涵盖了所有这些场景。这是来自 ParseSignupFragment.java 的验证片段:
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException e) {
if (isActivityDestroyed()) {
return;
}
if (e == null) {
loadingFinish();
signupSuccess();
} else {
loadingFinish();
if (e != null) {
debugLog(getString(com.parse.ui.R.string.com_parse_ui_login_warning_parse_signup_failed) +
e.toString());
switch (e.getCode()) {
case ParseException.INVALID_EMAIL_ADDRESS:
showToast(com.parse.ui.R.string.com_parse_ui_invalid_email_toast);
break;
case ParseException.USERNAME_TAKEN:
showToast(com.parse.ui.R.string.com_parse_ui_username_taken_toast);
break;
case ParseException.EMAIL_TAKEN:
showToast(com.parse.ui.R.string.com_parse_ui_email_taken_toast);
break;
default:
showToast(com.parse.ui.R.string.com_parse_ui_signup_failed_unknown_toast);
}
}
}
}
});