2017-12-29 5 views
0

Ich habe ein Problem mit meiner App, die ich mit Android Studio und Firebase entwickeln. Ich möchte Daten von Firebase erhalten und sie mit anderen Daten von Firebase vergleichen und in einer Listview anzeigen. Die Daten, die ich möchte, ist die Zeichenfolge im folgenden Bild.bekommen mehrere Knoten in firebase

image of firebase

Das Problem hier ist, nicht Ich weiß, wie mehrere Zeichenfolge aus der Datenbank zu erhalten.

Dies ist der Code, den ich versucht worden:

public class testActivity extends AppCompatActivity { 

private DatabaseReference applydatabase; 

String app; 
String applied; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_test); 

    app = getIntent().getExtras().getString("id"); 

    applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid"); 
    applydatabase.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      applied = dataSnapshot.getValue().toString(); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 


    } 
} 

Antwort

0

Sie DataSnapshot.getChildren() verwenden können, die untergeordneten Knoten und Schleife über sie zu bekommen.

applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid"); 
applydatabase.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     String first = null, second = null; 
     for (DataSnapshot child: dataSnapshot.getChildren()) { 
      if (first == null) { 
       first = child.getValue(String.class); 
      } else if (second == null) 
       second = child.getValue(String.class); 
      } 
     } 
     // TODO: compare first and second 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     throw databaseError.toException(); // don't ignore errors 
    } 
}); 
+0

Ok .. ich werde dies später versuchen. Aber was soll ich tun, wenn mehr Daten unter applyd hinzugefügt werden sollen. Ist diese Lösung noch gültig? Und ich muss die Daten, die ich von Firebase bekomme, für eine andere Methode verwenden. –

Verwandte Themen