如何检索和计算子Firebase Java的子项的值

时间:2019-03-08 18:56:47

标签: java android firebase firebase-realtime-database

我的Firebase

enter image description here

我为每个用户有许多银行帐户,每家银行都有很多资金流出,我需要计算所有银行帐户资金流出的总额, 如何检索所有银行的所有流出量的“金额”。 我已经计算了总余额,但是这里比较困难。 这就是我的方法

 myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(DataSnapshot ds : dataSnapshot.getChildren()) {
                String na =ds.child("name").getValue(String.class);
                Double bal=ds.child("balance").getValue(Double.class);
                total=total+bal; }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

当我尝试计算打印量0.0中的流出量时

 myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(DataSnapshot ds : dataSnapshot.getChildren()) {
                String na =ds.child("name").getValue(String.class);
                Double bal=ds.child("balance").getValue(Double.class);
               DataSnapshot OutflowSnapshot = dataSnapshot.child("outflow");
                Iterable<DataSnapshot> outflowChildren = OutflowSnapshot.getChildren();
                for (DataSnapshot outflows : outflowChildren) {
                    Double outf= outflows.child("amount").getValue(Double.class);
                    total2=total2+outf;

                }
                String show2 = Double.toString(total2);
                 outflow_show.setText(show2); // here it prints 0.0

                total=total+bal;
            }
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });

谢谢

0 个答案:

没有答案