2016-10-30 27 views
0

から検索値を取得できますか:?私はそれがスナップショットのどこかに保存されなければならないと考えています。あなたはFirebaseデータベースに対してクエリを実行すると、潜在的に複数の結果があるだろう。..私はスナップショットが存在しない場合、私は、このスナップショットから</p> </blockquote> <p></p> <blockquote> <p>「暗闇の中で踊る」を得ることができますどのようにこのFireBase DataSnapshot

private void addListenerForSingleValueEvent(String streetAddress, StringBuilder targetAddress){ 

     DatabaseReference firebase = FirebaseDatabase.getInstance().getReference(); 
     firebase.child("catalog/trax").orderByChild("namn").equalTo("Dancing in the dark") 
       .addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot snapshot) { 
       if (snapshot.exists()) { 
       // do sowm work on existing data 
       } else { 
       // How can I get the "Dancing in the dark" from the snapshot? 
       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 
       Toast.makeText(Application.getInstance(), databaseError.getMessage(), Toast.LENGTH_LONG).show(); 
      } 
     }); 

}

答えて

0

をインラインコードのコメントをお読みください。したがって、スナップショットにはそれらの結果のリストが含まれています。結果が1つだけの場合でも、スナップショットには1つの結果のリストが含まれます。 valueイベントを聞くと、一致するすべての結果が1つのスナップショットで取得されるため、子を反復処理する必要があります。

DatabaseReference firebase = FirebaseDatabase.getInstance().getReference(); 
    firebase.child("catalog/trax").orderByChild("namn").equalTo("Dancing in the dark") 
      .addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot snapshot) { 
      for (DataSnapshot item: snapshot.getChildren()) { 
       // In this loop item is the snapshot of a single item. 
       // This means we can get the namm of the item 
       System.out.println(item.child("namm").getValue(String.class)); 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      Toast.makeText(Application.getInstance(), databaseError.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
    }); 
+0

私はまだ私が探していたもの 'snapshot'エキス、質問:、'( "カタログからすることができ、'!snapshot.exists() 'ことを、何も' snapshot'ではありませんと言うことができます/trax().orderByChild("namn").equalTo("暗闇の中でダンスをする") 'あるいは、私はクラスのフィールドとして保存することができますが、とにかく動作することを確認します –

関連する問題

 関連する問題