【问题标题】:How to fix"Invalid username/password" in Parse如何在 Parse 中修复“无效的用户名/密码”
【发布时间】:2019-02-05 08:03:40
【问题描述】:

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

“无效的用户名/密码”

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

  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();
                                    }
                                }
                            });
                        }


                    }



                }

【问题讨论】:

    标签: android parse-server


    【解决方案1】:

    //检查你的异常

    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();
                                        }
                                    }
                                });
                            }
    
    
                        }
    
    
    
                    }
    

    【讨论】:

    • Signupmode 的数据类型是 boollen ,我将其初始化为 true 并检查其是否为 true 是否应该注册否则登录,当登录未登录时出现异常
    • 异常是什么?
    【解决方案2】:

    您的登录代码没问题,我会说您检查您提供的详细信息是否真实。也许他们不是任何具有该名称或密码的用户,您的提要是错误的。 我正在使用类似的代码,它工作正常。我的代码是:-

        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();
    
                                }
                            }
                        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 2013-08-25
      • 2015-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多