我目前正在使用AndroidHive的tutorial来学习如何使用Firebase,我现在开始很好地理解方法和文档 - 我意识到Firebase提供了一个使用电子邮件和密码的注册/登录方法,而且这条信息不是存储在我们的数据库中
我想实现一个系统,当他们注册时,他们提供他们的电子邮件,密码和用户名以及一些其他数据,并将它们全部保存到数据库中 . 这样用户就可以使用他们的电子邮件或用户名登录 . 我在堆栈上发现这篇文章显然是我要问的这个问题的answer - 但是,我不完全理解这个以及它如何与我的代码链接如下
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(SignupActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Toast.makeText(SignupActivity.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
if (!task.isSuccessful()) {
Toast.makeText(SignupActivity.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(SignupActivity.this, MainActivity.class));
finish();
}
}
});
非常感谢任何帮助
2 回答
试试这个:
这是上面调用的方法 .
另外: User.class
首先撤消添加
.getDatabase();
. 这不是本机Firebase方法,我的错误 .我遇到了你的问题 .
使FirebaseDatabase成为全局变量并在onCreate中初始化它 . 它需要一个背景 .
在onCreate之前先拿
FirebaseDatabase database;
.并且,在onCreate:初始化,
database=FirebaseDatabase.getInstance();
.不要在方法中初始化 . 我很快就会编辑我以前的答案 .