Java 如何在firebase数据库中添加数据
我正在创建停车场应用程序,我希望用户在注册前在编辑文本中输入一些信息。编辑文本如下:Java 如何在firebase数据库中添加数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在创建停车场应用程序,我希望用户在注册前在编辑文本中输入一些信息。编辑文本如下: 名字,姓氏,电子邮件,密码,车号 当用户点击注册按钮时,我想将这些值存储在连接到我的项目的firebase数据库中。我想知道如何在firebase中创建表以及如何存储这些值。我是编程新手。首先检索编辑文本: String email = textEmail.getText().toString().trim(); String firstname = firstName.getText().toStri
名字
,姓氏
,电子邮件
,密码
,车号
当用户点击注册按钮时,我想将这些值存储在连接到我的项目的firebase数据库中。我想知道如何在firebase中创建表以及如何存储这些值。我是编程新手。首先检索编辑文本:
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
私有数据库参考mDatabase,newUser;
私有FirebaseUser mCurrentUser;
mDatabase=FirebaseDatabase.getInstance().getReference().child(“用户”);
auth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(SignUpActivity.this,new OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
Toasty.info(getApplicationContext(),“帐户的创建是:”+task.issusccessful(),Toast.LENGTH\u SHORT).show();
如果(!task.issusccessful()){
Toasty.error(getApplicationContext(),“身份验证失败:”+task.getException().getMessage(),
吐司。长度(短)。show();
}否则{
mCurrentUser=task.getResult().getUser();Firebase不在表中存储数据,它不是一个经典的数据库。它只是一个大的JSON文件,可以在多个节点中复制,也可以跨多个节点
经典的方法是让根的第一级子级成为您想象中的表
{
"users": {
...
}
}
第二,你想做的事情很简单,你可以通过打开入门指南知道如何做
此外,处理用户身份验证的最佳方法不是使用FirebaseAuth,而是使用FirebaseAuth。在指南中,您也可以找到相关信息。如果他已注册用户,您确定这是一个好主意吗?您的意思是什么?首先他需要在FireBaseAuthentication中注册用户的电子邮件/密码,然后如果任务成功l他将数据发送到数据库@balsicksure,但他或你都没有这样做@Peter Haddadno,但你没有回答他的问题。他根本不认为也不知道这样的FirebaseAuth存在。我只是说,如果他设计了一个基于数据库的身份验证,也许最好的答案应该是让系统按照他想要的方式工作最后,我们建议换一种更合适的方式