2016-11-17 6 views
0

ich in Firebase diese Datenbank haben, das ist meine DatenbankstrukturWie wird der gesamte Wert eines Child von Firebase abgerufen?

My Database.json

My firebase structure.png

Wie kann ich all das Wertindex erhalten, das ist mein Code:

ref.addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     Map<String, Object> td = (HashMap<String,Object>) dataSnapshot.getValue(); 

     List<Object> values = new ArrayList<Object>(td.values()); 
     Log.d("values ", String.valueOf(values)); 
     Iterator<Object> iterator = values.iterator(); 
     int length = (int) dataSnapshot.getChildrenCount(); 
     String[] sampleString = new String[length]; 
     while(i < length) { 
      sampleString[i] = iterator.next().toString(); 
      Log.d(Integer.toString(i), sampleString[i]); 
      i++; 
     } 
    } 

That Code gibt nur den Index von den ersten Werten zurück:

11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 32.00, 1008, 62] 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/0: 112.788683 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/1: -7.281677 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/2: 4.983527183532715 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/3: 32.00 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/4: 1008 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/5: 62 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 28.00, 1010, 83] 

Wie bekomme ich alle Index von ersten Werten und zweiten Werten? Jeder könnte mir bitte helfen?

+0

Sie haben einen Link zu einem Bild des JSON-Baums in Ihre Frage eingefügt. Bitte ersetzen Sie dies durch den tatsächlichen JSON als Text, den Sie einfach erhalten, indem Sie in der Firebase-Datenbankkonsole auf die Schaltfläche "Exportieren" klicken. Da der JSON als Text durchsuchbar ist, können wir ihn einfach verwenden, um mit Ihren tatsächlichen Daten zu testen und sie in unserer Antwort zu verwenden, und im Allgemeinen ist dies nur eine gute Sache. –

+0

Ich habe meine Aussage bearbeitet und die JSON-Datei meiner Datenbank aufgenommen, die Sie herunterladen können. Ich hoffe du könntest mir helfen Frank, danke. –

Antwort

0

Setzen Sie den Listener auf den Knoten einer Ebene oberhalb (dh auf den Knoten, der die Wurzel aller Knoten ist, von denen Sie die Werte abrufen möchten). Dadurch erhalten Sie eine HashMap mit diesen Knotenschlüsseln als HashMap-Schlüssel und die Knotenwerte als HashMap-Werte.

+0

Ich habe bereits meine Listener auf Knoten/Daten gesetzt, Sie können auf meinem Datenbankbild sehen, aber immer noch Knoten Schlüssel aus/Daten nicht erhalten. Ich habe gerade den ersten Wert? –

Verwandte Themen