Получить Firebase UID при нажатии, затем снова нажать с заданным UID в Java - PullRequest
2 голосов
/ 11 июля 2019

Привет, у меня есть следующий код, написанный на Javascript, и мне нужно сделать то же самое на Java, есть код:

firebase.database().ref('notificacionesAdmin/').push(notificacion).then(res => {
                    firebase.database().ref('notificacionesAdmin/' + res.key).child('idNotificacion').set(res.key)           

Это простой push-запрос, но он ожидает до тех пор, пока не будет выполнен первый push-запрос, затем он снова выполняет внутри последнего push-потомка и внутри него записывает 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 Ответ

1 голос
/ 11 июля 2019

Firebase's 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!
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...