如何从Firebase中的.push()中随机生成userID

时间:2017-01-25 17:54:21

标签: java firebase

目前,我正在使用以下代码将我的用户类添加到firebase数据库:

public void onClick(View v)
        {

            Firebase ref = new Firebase("https://xxxxxx.firebaseio.com/");

            createAccount(emailString, passwordString);

            User user = new User ();
            user.setEmail(emailString);
            user.setPassword(passwordString);

            ref.child("users").push().setValue(user);



        }

现在,因为我使用.push()方法,所以我在数据库中创建了一个唯一的ID。如何提取该唯一ID?我查看了this教程,但我不明白如何实现它。

2 个答案:

答案 0 :(得分:3)

DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference(); //get the reference to your database
User user = new User ();
user.setEmail(emailString);
user.setPassword(passwordString);
String yourKey = dbRef.child("users").push().getKey(); //get the key
dbRef.child("users").child(yourKey).setValue(user); //insert user in that node

但是如果您想稍后访问该节点(yourKey),则需要将其存储在某种永久存储器中,例如Web服务器上的数据库。

答案 1 :(得分:2)

如何获得关键检查这些文档的好例子对我帮助很大。 Firebase Docs

// Get a key for a new Post. 

var newPostKey = firebase.database().ref().child('posts').push().key;