提问人:H3lltronik 提问时间:7/11/2019 最后编辑:Frank van PuffelenH3lltronik 更新时间:7/11/2019 访问量:155
推送时获取 Firebase UID,然后在 Java 中使用给定的 UID 再次推送
Get Firebase UID when push, then push again with the given UID in Java
问:
嗨,我有以下用 Javascript 编写的代码,我需要用 Java 做同样的事情,这是代码:
firebase.database().ref('notificacionesAdmin/').push(notificacion).then(res => {
firebase.database().ref('notificacionesAdmin/' + res.key).child('idNotificacion').set(res.key)
这是一个简单的推送,但它会等到第一次推送完成,然后它再次推送到最后一个推送的子节点内,并在其中写入节点
的 UID 如下所示:
uniqueid :{
idNotificacion: uniqueid
....
}
我尝试做这样的事情,但它没有返回任何 UID,或者我只是遗漏了一些东西
database = FirebaseDatabase.getInstance().getReference("notificacionesAdmin/");
database.push().setValue(notificacion).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
// How to get the pushed child uid?
}
});
感谢您的帮助
答:
1赞
Nurbol
7/11/2019
#1
Firebase 再次返回带有随机键的对象。因此,可以像这样获取密钥:databaseRef.push()
DatabaseReference
database = FirebaseDatabase.getInstance().getReference("notificacionesAdmin/");
final String key = database.push().getKey();
database.child(key).setValue(notificacion).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
// Here use the key!
}
});
评论
0赞
Frank van Puffelen
7/11/2019
事实上,使用这种方法通过一次调用来写入两个位置是相当普遍的,如下所示:firebase.googleblog.com/2015/09/...updateChildren(...)
评论