제 firebase DB 구조 입니다.
random_chat
- uid
- chat_room
- SOOK (random_user)
-Kp0qAwRFkA4kNmw87jU (key)<-- 이 걸 호출해서 child인 msg와 name을 얻고 싶은데
- msg: "ㅈ"
- name: "SOOK"
mDatabase = FirebaseDatabase.getInstance().getReference("random_chat");
final DatabaseReference data = mDatabase.child("uid").child("chat_room").child(random_user);
key = mDatabase.push().getKey();
Map<String, Object> map2 = new HashMap<String, Object>();
message_root = data.child(key);
map2.put("name", value);
map2.put("msg", input_msg.getText().toString());
message_root.updateChildren(map2);
data.child(key).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
user_chat(dataSnapshot);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
user_chat(dataSnapshot);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
제가 이런 식으로 호출하려고 하니깐 에러가 발생합니다. 어떻게하면
random_Chat -> uid -> chat_room -> SOOK(random_user) -> key 까지 와서 key의 child인 msg와 name을 받을 수 있을까요???
addValueEventListener 을 사용할 때는 위의 코드로 사용이 가능한데, addChildEventListener 로 사용할 때는 작동이 되질 않습니다.;
답변 부탁드리겠습니다!!