У меня есть узел с именем "Чаты", под этим узлом есть много чатов с определенным идентификатором.Каждый из этих узлов с идентификатором содержит сообщения.Сообщения должны быть добавлены без какого-либо конкретного пути.Как я могу это сделать? X
У меня есть следующий код, но мне не хватает одного уровня:
final DatabaseReference chat = FirebaseDatabase.getInstance().getReference("CHATS").child(chatID);
chat.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (!dataSnapshot.exists()){
chat.child("_s").setValue(sender);
chat.child("_r").setValue(reciever);
chat.child("_m").setValue(msg);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Мне нужно, чтобы значения создавались в одном узле как сообщение.Но они создаются прямо под chatID.Примерно так:
final DatabaseReference chat = FirebaseDatabase.getInstance().getReference("CHATS").child(chatID);
chat.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (!dataSnapshot.exists()){
chat.CHILD().child("_s").setValue(sender);
chat.CHILD().child("_r").setValue(reciever);
chat.CHILD().child("_m").setValue(msg);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Структура должна выглядеть так: https://cdn -images-1.medium.com / max / 800/1 * AHL1ZE8Kt1ctIL2LfZ0z1w.png