作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“Chats”的节点,该节点下有很多具有特定 ID 的聊天。每个具有 ID 的节点都包含消息。添加消息时应不指定任何特定路径。我该怎么做?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
最佳答案
它与 ValueEventListener 和 push().setValu(Object) 结合使用:
final String chatID = getChatLeaderID(sender, reciever);
final DatabaseReference chat = FirebaseDatabase.getInstance().getReference("CHATS2").child(chatID);
final HashMap<String, Object> hashMapMsg = new HashMap<>();
hashMapMsg.put("_s", sender);
hashMapMsg.put("_r", reciever);
hashMapMsg.put("_m", msg);
chat.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
chat.push().setValue(hashMapMsg);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
关于java - 如何在没有特定路径的情况下在子项下添加子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56501998/
我是一名优秀的程序员,十分优秀!