2017-01-24 12 views
1
survey-6d90daddclose 
questions 
-KbFaJVwP1HKu-rHfrjT 
    ans1: 
     "test" 
    ans2: 
     "1" 
    ans3: 
     "2" 
    ans4: 
     "3" 
    question: 
     "Testing" 
-KbFlP8A08y2k4Vp1XET 
    ans1: 
     "test" 
    ans2: 
     "test2" 
    ans3: 
     "test3" 
    ans4: 
     "test4" 
    question: 
     "Testing" 
-KbGl_FZUr-BMACkvVh5 
    ans1: 
     "aopskdpoaskd" 
    ans2: 
     "askdaksd" 
    ans3: 
     "aospkdpoaskd" 
    ans4: 
     "alksdlaksd" 
    question: 
     "aoskdpoaskd" 
-KbHHX27kjH8TgoE1PwW 
    ans1: 
     "asdasd" 
    ans2: 
     "asdasd" 
    ans3: 
     "asdasd" 
    ans4: 
     "asdasd" 
    question: 
     "asdasd" 
-KbHHxHoh7_yiBcvXU0- 
    ans1: 
     "asdasd" 
    ans2: 
     "asdasd" 
    ans3: 
     "asdasd" 
    ans4: 
     "asdasdasd" 
    question: 
     "questions" 

これはJSON Firebaseデータベースのサンプルです。私が知る必要があるのは、これらの一意の識別子を取得する方法です。 KbFaJVwP1HKu-rHfrjT,KbGl_FZUr-BMACkvVh5,KbHHX27kjH8TgoE1PwW,KbHHX27kjH8TgoE1PwWおよびKbHHX27kjH8TgoE1PwWFirebaseデータベースから一意のIDを取得する方法は?

メソッドgetKeyを使用して値を返すと、プライマリキーの名前(この場合はquestion)が返されますが、これらの一意の識別子を使用してアクセスできるようにする必要があります。あなたがChildEventListenerまたはValueEventListener使用する必要が

new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
      for (DataSnapshot child : dataSnapshot.getChildren()) { 
       //Get keys individually.  
       child.getKey(); 
      } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     System.out.println("The read failed: " + databaseError.getCode()); 
    } 
} 
+0

あなたは(..)object.getKeysを試してみましたか? –

+0

利用可能なメソッドとしてgetKeys()が表示されません。サンプルコードを投稿できますか? – user1938007

+0

これはJavaScript関数です。 http://stackoverflow.com/a/8430501/4290127 –

答えて

0

DatabaseReference ref=FirebaseDatabase.getInstace().getReference().child("questions"); 





    ref.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) 
     { for (DataSnapshot questionSnapshot : dataSnapshot.getChildren()) { 
//The key of the question 
     String questionKey = questionSnapshot.getKey(); 
//And if you want to access the rest: 
String ans1 = questionSnapshot.child("ans1").getValue(String.class); 
    } 

     } 

     @Override 
    public void onCancelled(DatabaseError databaseError) { 
} 

     }); 
1

:これはどのように

関連する問題