我如何使用Firebase数据库参考在Android Studio内部使用代码创建节点

时间:2018-08-03 02:06:08

标签: android firebase firebase-realtime-database firebase-authentication

虽然我当然是使用android studio的初学者,但我目前正在从事自己的小项目。它具有有效的登录和用户注册系统,尽管在进入配置文件活动时,我创建了一个对象,希望将其压入子对象“ Users”下。

我已经阅读了Firebase文档并学习了如何读写数据,但是我不太了解如何在不手动按下Firebase中的+按钮并设置名称和值的情况下创建节点。

这是到目前为止我的数据库的样子: What I would like to do is under the "Users: I would like to just have a node of each unique firebase user objects userID. Then inside of that the user object data that I have stored in my own object such as age, gender, firstName and lastname.

如果此内容包含在文档中,请留下一个链接,因为我很乐意对其进行重新阅读。我可能错过了一些东西,我们将不胜感激!

这是我已经尝试过的结果:

private void createUser()
{
    String first_name = firstName.getText().toString().trim();
    String last_name = lastName.getText().toString().trim();

    String gender = "";

    if (male.isChecked())
    {
        gender = "male";
    }

    if (female.isChecked())
    {
        gender = "female";
    }

    //int years = Integer.getInteger(age.getText().toString());

    User user = new User(first_name, last_name, gender, 18, FirebaseAuth.getInstance().getCurrentUser().getEmail(), FirebaseAuth.getInstance().getCurrentUser().getUid());
    firebaseDatabase.getReference().child("Users").setValue(user);
}

结果: Picture Here

我正在努力的结果是,您只看到firebase在“用户”节点内生成的用户ID,然后在我在createUser()方法中创建的每个用户对象内看到。 >

1 个答案:

答案 0 :(得分:1)

使用users子路径,将您的uid附加为“ Users /” + uid,然后设置该值。它将为每个唯一用户创建一个新节点。

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
 User user = new User(first_name, last_name, gender, 18, FirebaseAuth.getInstance().getCurrentUser().getEmail(), FirebaseAuth.getInstance().getCurrentUser().getUid());
        firebaseDatabase.getReference().child("Users/" + uid).setValue(user);