Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在firebase数据库中添加数据_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

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存在。我只是说,如果他设计了一个基于数据库的身份验证,也许最好的答案应该是让系统按照他想要的方式工作最后,我们建议换一种更合适的方式