我正在创建停车场应用程序,我希望用户在注册前在编辑文本中输入一些信息。编辑文本如下:
First Name
,Last Name
,Email
,password
,car no
。
当用户点击注册按钮时,我想将这些值存储在连接到我的项目的firebase数据库中。我想知道如何在firebase中创建表以及如何存储这些值。我是编程新手。
答案 0 :(得分:1)
首先检索edittexts:
String email = textEmail.getText().toString().trim();
String firstname = firstName.getText().toString().trim();
//etc
首先使用createUserWithEmailAndPassword
对用户进行身份验证,然后添加到数据库:
private DatabaseReference mDatabase, newUser;
private FirebaseUser mCurrentUser;
mDatabase = FirebaseDatabase.getInstance().getReference().child("users");
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(SignUpActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Toasty.info(getApplicationContext(), "creation of account was: " + task.isSuccessful(), Toast.LENGTH_SHORT).show();
if (!task.isSuccessful()) {
Toasty.error(getApplicationContext(), "Authentication failed: " + task.getException().getMessage(),
Toast.LENGTH_SHORT).show();
} else {
mCurrentUser= task.getResult().getUser();<-- gets you the uid
newUser=mDatabase.child(mCurrentUser.getUid());
newUser.child("email").setValue(email);
newUser.child("firstname").setValue(name);
}
});
您将拥有以下数据库:
users
userid
email:userx@gmail.com <--example
firstname:userx <--example
答案 1 :(得分:0)
Firebase不会在表中存储数据,它不是经典数据库。它只是一个可以在多个节点中复制的大型JSON文件,也可能跨越其中的几个。
经典的方法是让根的第一级孩子成为你想象的桌子。所以,例如,你将有
{
"users": {
...
}
}
其次,您要做的事情非常简单,您可以通过打开入门指南知道如何做到这一点。
此外,处理用户身份验证的最佳方法不是使用FirebaseAuth。在指南中你也可以找到它。