마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 Firebase 질문입니다!!

0 추천
제 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 로 사용할 때는 작동이 되질 않습니다.;

 

답변 부탁드리겠습니다!!
알파고 (4,320 포인트) 님이 2017년 7월 15일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...