如何获取刚刚在 Firebase 中推送的对象的键?

neo*_*neo 3 android firebase firebase-realtime-database

我想创建一种没有密码和电子邮件的注册。我只使用昵称。所以,我有一个 User 类,它有昵称字段和其他字段。所以,我想推送新用户,我想要的是保存它的密钥,因为我将来需要获取一些用户的数据时需要它。那么我怎样才能得到一个已经被推送的对象的键呢?

这是我如何推送的代码:

User user = new User() ;
user.setNick(nick.getText().toString());
user.setScore(0);


Firebase fire = new Firebase(FirebaseConfig.URL) ;
//how to get key of this object? Is it possible before pushing? 
fire.push().setValue(user);
Run Code Online (Sandbox Code Playgroud)

Ale*_*amo 5

要获取密钥,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference keyRef = rootRef.push();
String key = keyRef.getKey();
keyRef.setValue(user);
Run Code Online (Sandbox Code Playgroud)

或者

Firebase fire = new Firebase(FirebaseConfig.URL) ;
String pushKey = fire.push().getKey();
fire.child(pushKey).setValue(user);
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。