如何在解析中修复“无效的用户名/密码”

时间:2019-02-05 08:03:41

标签: android parse-server

我正在使用解析服务器开发具有signupLogin的应用程序,我可以在其中注册,但是当我尝试登录时却出现异常

  

“无效的用户名/密码”

这是signUpLogIn的代码,当signUpMode处于活动状态时,用户可以在按下按钮时进行注册,或者在signUpmode处于非活动状态时(即false),该按钮充当Login(登录),用户可以登录但是在这里,当我尝试登录时说“无效的用户名/密码”

  public void signUp(View view)
        {
            editTextUser =(EditText) findViewById(R.id.userNameEdit);
            editTextPass =(EditText) findViewById(R.id.passWordEdit);

                if(editTextUser.getText().toString().matches("") || editTextPass.getText().toString().matches(""))
                {
                    Toast.makeText(this,"Username and Password required",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    if(SignupModeActive)
                    {
                        ParseUser user = new ParseUser();
                        user.setUsername(editTextUser.getText().toString());
                        user.setPassword(editTextUser.getText().toString());
                        user.signUpInBackground(new SignUpCallback() {
                            @Override
                            public void done(ParseException e) {

                                    if(e == null)
                                    {
                                        Log.i("saveInBackGround","SignUp Success");
                                        Intent intent = new Intent(MainActivity.this,UserslistActivity.class);
                                        startActivity(intent);
                                    }
                                    else{
                                        Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
                                    }


                            }
                        });


                    }
                    else
                    {
                            ParseUser.logInInBackground(editTextUser.getText().toString(),editTextPass.getText().toString(), new LogInCallback() {
                                @Override
                                public void done(ParseUser user, ParseException e) {
                                    if(user != null){
                                        Log.i("LogInBackGround","Login Succesfull");
                                        Intent logInintent = new Intent(MainActivity.this,UserslistActivity.class);
                                        startActivity(logInintent);
                                    }
                                    else
                                    {
                                        Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
                                    }
                                }
                            });
                        }


                    }



                }

2 个答案:

答案 0 :(得分:0)

//检查您的异常

public void signUp(View view)
        {
            mEditTextUser =(EditText) findViewById(R.id.userNameEdit);
            mEditTextPass =(EditText) findViewById(R.id.passWordEdit);

                if(mEditTextUser .getText().toString().trim().length()==0 || editTextPass.getText().toString().trim().length()==0.matches(""))
                {
                    Toast.makeText(this,"Username and Password required",Toast.LENGTH_SHORT).show();
                }
                else
                {
                 //Check SignupMode is true
   if(SignupModeActive)
                    {
                        ParseUser user = new ParseUser();
                        user.setUsername(editTextUser.getText().toString());
                        user.setPassword(editTextUser.getText().toString());
                        user.signUpInBackground(new SignUpCallback() {
                            @Override
                            public void done(ParseException e) {

                                    if(e == null)
                                    {
                                        Log.e("Exception",e.printStackTrace());
                                        Intent intent = new Intent(MainActivity.this,UserslistActivity.class);
                                        startActivity(intent);
                                    }
                                    else{
                                        Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
                                    }


                            }
                        });


                    }
                    else
                    {
                            ParseUser.logInInBackground(editTextUser.getText().toString(),editTextPass.getText().toString(), new LogInCallback() {
                                @Override
                                public void done(ParseUser user, ParseException e) {
                                    if(user != null){
                                        Log.i("LogInBackGround","Login Succesfull");
                                        Intent logInintent = new Intent(MainActivity.this,UserslistActivity.class);
                                        startActivity(logInintent);
                                    }
                                    else
                                    {
                                        Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
                                    }
                                }
                            });
                        }


                    }



                }

答案 1 :(得分:0)

您的登录代码是可以的,我会说您要检查您输入的详细信息是否正确。也许他们不是用这个名字或密码来输入的用户是错误的。 我正在使用类似的代码,它工作正常。我的代码是:-

    ParseUser.logInInBackground(edtEmail.getText().toString(), 
    edtPassword.getText().toString(), new LogInCallback() {
                        @Override
                        public void done(ParseUser user, ParseException e) {
                            if (user != null && e == null) {
                                FancyToast.makeText(Login.this, user.get("username") + " is logged in successfully", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show();

                                transitionToWelcomePage();

                            } else {
                                FancyToast.makeText(Login.this, e.getMessage(), FancyToast.LENGTH_LONG, FancyToast.ERROR, true).show();

                            }
                        }
                    });