2014-11-06 2 views
0

입니다. 현재 Firebase을 처음 사용하고 있습니다. firebase java에서 부모 값을 얻는 방법 howt는

난에 키를 넣어 - >> 사용자 -> 답변 -> -> 사실 다음 내가 이것을 사용 :

Firebase re = New Firebase(blabla..user->answer); 

refLoadId_Question_Question.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Map<String, Object> newPost = (Map<String, Object>) dataSnapshot.getValue(); 
      System.out.println("Id_question1: " + dataSnapshot.getValue()); 
      System.out.println("Id_question1: " + dataSnapshot.getChildren().toString()); 
      list_id_question.add(dataSnapshot.getKey()); 
     } 

     @Override 
     public void onCancelled(FirebaseError firebaseError) { 

     } 
    }); 

내가 나타납니다 Id_question1 : {-Ja3RTtq5DMGIdVF9-PC = true}에서 dataSnapsho.getValue();

내 질문은 자바에서 객체 유형의 키 값을 가져올 수 있습니까? 이 값을 얻고 싶습니다 : -Ja3RTtq5DMGIdVF9-pC

누구 도와주세요? 덕분에 ..

답변

0

저는 ID를 얻기 위해이 코드를 사용하고 있습니다.

하지만 ID의 질문

if (dataSnapshot.getValue() != null) { 
     Map<String, Object> newPost = (Map<String, Object>) dataSnapshot.getValue(); 
     String ID_Question = newPost.keySet().toString().replace("[", ""); 
     ID_Question = ID_Question.replace("]", ""); 
     System.out.println("Id_question1: " + ID_Question); 
     list_id_question.add(ID_Question); 
    } 
1

당신은 자식들에 대해 반복해야합니다

또는
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) { 
    System.out.println(childSnapshot.getKey()); 
} 

당신이 대신 전체 응답 객체의, 어린이를위한들을 수 : 후자가가는

refLoadId_Question_Question.addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot childSnapshot) { 
     System.out.println(childSnapshot.getKey()); 
    } 
} 

을 처음 데이터를 그냥 푸는 대신 데이터 동기화을 처리하기 시작할 때 더 간단 할 수 있습니다.

당신이 당신의 응용 프로그램을 사용하여 이명이 말 : 첫 번째 사용자가 두 개의 답변 (이 예제를 위해) 질문을보고하고

  1. 두 번째 사용자가 세 번째 대답을 제공하고있다 같은 질문

처음에는 첫 번째 사용자가 질문과 두 가지 답변을 다운로드합니다. 그런 다음 두 번째 사용자가 세 번째 대답을 제공하면 초기 코드에서 세 가지 대답을 모두 다시 다운로드합니다. 두 번째 예제는 새로운 대답을 위해서만 호출됩니다.

+0

이상의 내가 그것을 시도거야 빠른 답변을 주셔서 감사합니다,하지만 지금부터 먼저 버그를 찾을거야 내가 만약 그것을 시도하지 않았다 내 애플 리케이션. 나는 곧 당신에게 말할 것입니다. –

관련 문제