注册前检查 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);
                        }
                    }
                }
            }
        });