Ich kann keine Summe der Firebase -Datenwerte in Android Studio erhalten
Posted: 05 Apr 2025, 23:42
Ich mache eine Android -App mit Android Studio. Ich habe es mit der Firebase -Echtzeitdatenbank verknüpft. Ich möchte die Summe einiger Kinderwerte in einer der Aktivitäten abrufen. Dies ist meine JSON-Datei:-< /p>
Bitte geben Sie ein praktisches Beispiel an.
Code: Select all
{
"Data" : {
"UyhzVqsz1BVFKoePa2NEmlPFu382" : {
"Budget" : {
"Expanse" : {
"Wedding" : {
"stData1" : "W",
"stData2" : "Wedding",
"stData3" : "111",
"stData4" : "11111"
}
}
},
"Traffic" : {
"Wedding" : {
"-MYKeSN8GZ8WbI-8TfVB" : {
"stData1" : "15 Apr 2021,06:43:00:pm",
"stData2" : "Wedding",
"stData3" : "kkk",
"stData4" : "100"
},
"-MYLu2qPmt9qj1tJPkrP" : {
"stData1" : "16 Apr 2021,00:30:47:am",
"stData2" : "Wedding",
"stData3" : "ddd",
"stData4" : "200"
}
}
}
}
}
}
< /code>
Ich habe viele mögliche Lösungen für dieses Problem gesehen. Ich habe viele von ihnen in meiner App angewendet. Aber keiner der Arbeiten. Der folgende Code hat ein bisschen formuliert. Das Problem ist nun, dass dieser Code den Wert der zuletzt eingegebenen Daten mit sich bringt. Ich kann immer noch nicht die Summe aller Kinderknoten bekommen. < /P>
myRef = myfire.getReference().child("Data").child(strUID).child("Traffic");
myRef.child("Wedding").orderByChild("stData2").equalTo("Wedding").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()) {
int sum = 0;
String value = data.child("stData4").getValue(String.class);
assert value != null;
int total = Integer.parseInt(value);
sum= sum + total;
tvBalance.setText(String.valueOf(sum));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});