Java 如何将数据与身份验证数据一起存储在Firebase中

Java 如何将数据与身份验证数据一起存储在Firebase中,java,android,firebase,firebase-realtime-database,firebase-authentication,Java,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我已将Firebase身份验证与Android应用程序集成。现在,我必须存储其他与应用程序相关的数据,如用户扩展配置文件、用户首选项、设置等 据介绍,实时数据库可以用来保存任何数据 这是正确的方法还是firebase中有其他存储数据的方法 如果这是正确的方法,我应该在这里使用什么数据库名称?我的意思是在Firebase中的何处创建数据库 FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference m

我已将Firebase身份验证与Android应用程序集成。现在,我必须存储其他与应用程序相关的数据,如用户扩展配置文件、用户首选项、设置等

据介绍,实时数据库可以用来保存任何数据

  • 这是正确的方法还是firebase中有其他存储数据的方法
  • 如果这是正确的方法,我应该在这里使用什么数据库名称?我的意思是在Firebase中的何处创建数据库

    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    DatabaseReference myRef = database.getReference("<<Database Name>>");
    
    FirebaseDatabase=FirebaseDatabase.getInstance();
    DatabaseReference myRef=database.getReference(“”);
    

  • 是的,这是正确的方法。例如,如果您使用firebase身份验证来登录使用电子邮件的用户,则必须使用firebase实时数据库来存储与该用户相关的其他信息。例如:

    Users
      userid 
         name:userx
         email: userx@gmail.com
         age: 102
      userid1
          name: usery
          email:usery@gmail.com
          age: 200
    
    要使用子节点用户访问数据库实例,可以执行以下操作:

     DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
    
    或者这个:

    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    DatabseReference ref=database.getReference().child("Users");
    

    无需在
    getReference(“”)中写入数据库名称。这在旧版本中是需要的,但现在不需要了。

    是的,这是正确的方法。例如,如果您使用firebase身份验证来登录使用电子邮件的用户,则必须使用firebase实时数据库来存储与该用户相关的其他信息。例如:

    Users
      userid 
         name:userx
         email: userx@gmail.com
         age: 102
      userid1
          name: usery
          email:usery@gmail.com
          age: 200
    
    要使用子节点用户访问数据库实例,可以执行以下操作:

     DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
    
    或者这个:

    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    DatabseReference ref=database.getReference().child("Users");
    

    无需在
    getReference(“”)中写入数据库名称。这在旧版本中是需要的,但现在不需要了。

    谢谢!这意味着Users是集合名还是数据库名?如果我需要像UserPreferences这样创建新集合呢?如果你想,你可以称它为集合名,但不是数据库名。它通常被称为“子节点”。您通常可以为用户创建另一个子节点,如下所示
    dataserreference ref=database.getReference().child(“UserPreferences”)
    如果您想要一个嵌套的子级,那么您可以这样做
    DatabaseReference ref=database.getReference().child(“UserPreferences”).child(“nestedchild”)谢谢,明白了!必须等待2分钟才能接受:)数据库名称通常如下
    https://test-xxxx.firebaseio.com/
    ,但您不需要将其写入
    getReference()中。
    谢谢!这意味着Users是集合名还是数据库名?如果我需要像UserPreferences这样创建新集合呢?如果你想,你可以称它为集合名,但不是数据库名。它通常被称为“子节点”。您通常可以为用户创建另一个子节点,如下所示
    dataserreference ref=database.getReference().child(“UserPreferences”)
    如果您想要一个嵌套的子级,那么您可以这样做
    DatabaseReference ref=database.getReference().child(“UserPreferences”).child(“nestedchild”)谢谢,明白了!必须等待2分钟才能接受:)数据库名称通常如下
    https://test-xxxx.firebaseio.com/
    ,但不需要将其写入
    getReference()中