Firebase身份验证无法在2个相同的项目中使用

时间:2018-02-07 09:56:18

标签: android firebase firebase-authentication

我有一个项目,我已连接到Firebase auth,它工作正常。今天我创建了一个新项目,并将其连接到新的Firebase项目,我使用旧应用程序中的旧代码,但它不起作用。我尝试替换java文件,grandle文件等..并没有任何工作。如果我尝试创建新用户,那么每次都会写“注册失败”......但是在第二个项目中,这段代码工作正常。

Sameone有这个问题并告诉我如何修复它以及为什么我无法注册用户?

我的工作代码(我在其他项目中使用的相同):

private FirebaseAuth firebaseAuth;

private EditText editTextEmail;
private EditText editTextPassword;
private Button buttonSignup;
private ProgressDialog progressDialog;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    firebaseAuth = FirebaseAuth.getInstance();

    editTextEmail = (EditText) findViewById(R.id.editTextEmail);
    editTextPassword = (EditText) findViewById(R.id.editTextPassword);

    buttonSignup = (Button) findViewById(R.id.buttonSignup);

    progressDialog = new ProgressDialog(this);

    //attaching listener to button
    buttonSignup.setOnClickListener(this);

}

private void registerUser(){

    //getting email and password from edit texts
    String email = editTextEmail.getText().toString().trim();
    String password  = editTextPassword.getText().toString().trim();

    //checking if email and passwords are empty
    if(TextUtils.isEmpty(email)){
        Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show();
        return;
    }

    if(TextUtils.isEmpty(password)){
        Toast.makeText(this,"Please enter password",Toast.LENGTH_LONG).show();
        return;
    }

    //if the email and password are not empty
    //displaying a progress dialog

    progressDialog.setMessage("Registering Please Wait...");
    progressDialog.show();

    //creating a new user
    firebaseAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    //checking if success
                    if(task.isSuccessful()){
                        //display some message here
                        Toast.makeText(MainActivity.this,"Successfully registered",Toast.LENGTH_LONG).show();
                    }else{
                        //display some message here
                        Toast.makeText(MainActivity.this,"Registration Error",Toast.LENGTH_LONG).show();
                    }
                    progressDialog.dismiss();
                }
            });

}

@Override
public void onClick(View view) {
    //calling register method on click
    registerUser();
}

}

感谢您的帮助,对不起我的英语

2 个答案:

答案 0 :(得分:0)

可能是你没有使用你需要粘贴在app文件夹中的那个json文件。另一个原因可能是你的包名不同。

更改此Toast:

Toast.makeText(MainActivity.this,"Registration Error",Toast.LENGTH_LONG).show();

对此:

 Toast.makeText(LoginActivity.this, "User Authentication Failed: " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();

并查看错误是什么。

答案 1 :(得分:0)

我从Firebase控制台删除了我的新项目,然后我创建了新项目并再次编写了代码并且它正常工作。在我看来,问题出在json文件或类似的东西。

现在我没有这个bug项目连接到firebase,我无法尝试你的崩溃报告,但在下一次当我遇到这个问题时,我可以尝试一下。

感谢您的帮助:)