如何在firebase数据库中添加数据

时间:2018-03-20 18:34:40

标签: android firebase firebase-realtime-database

我正在创建停车场应用程序,我希望用户在注册前在编辑文本中输入一些信息。编辑文本如下:

First NameLast NameEmailpasswordcar no

当用户点击注册按钮时,我想将这些值存储在连接到我的项目的firebase数据库中。我想知道如何在firebase中创建表以及如何存储这些值。我是编程新手。

2 个答案:

答案 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。在指南中你也可以找到它。