Android / Firebase计算同一子项中数字行的总和

时间:2017-08-11 14:50:44

标签: android firebase

我有这样的数据库:

"Users" : {
  "user_ykdF5b234afdgd" : {
        "Scoring" : [ {
          "Name" : "Name1",
          "punkte" : "0"
        }, {
          "Name" : "Name2",
          "punkte" : "0"
        } ],
        "image" : "",
        "membertype" : "bike",
        "startnummer" : "1",
        "teamname" : "Paul Musterman"
      }
    },
    "user_ykdF5b234afdgd2" : {
        "Scoring" : [ {
          "Name" : "Name1",
          "punkte" : "0"
        }, {
          "Name" : "Name2",
          "punkte" : "0"
        } ],
        "image" : "",
        "membertype" : "bike",
        "startnummer" : "1",
        "teamname" : "Franz Musterman"
      }
    },

user_ykdF5b234afdgd在我的表格中:

用户:{ user_ykdF5b234afdgd:{ ....

我希望在每个Userchild中显示并总结得分子中的“punkte”。

"Scoring" : [ {
        "Name" : "Name1",
        "punkte" : "100"
      }, {
        "Name" : "Name2",
        "punkte" : "150"
      } ],

我想要添加100 + 150并在我的Android布局中显示250。

      mDatabase.child("Users").child("user_ykdF5b234afdgd/Scoringboard").orderByChild("Name").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    for (DataSnapshot snapshot :
                            dataSnapshot.getChildren()) {
                        try {
                            Log.d("debuug", String.valueOf(snapshot.child("Name").getValue()) + " "+ String.valueOf(snapshot.child("punkte").getValue()));

                        } catch (NumberFormatException e) {
                            Log.d("debuug", "Eingabe nicht valide");
                        }
                    }
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {}
        });

我对此进行了测试并获得了分数,但这有两个“失败”

1)我如何在孩子的所有条目中使用它?

mDatabase.child("Users").child("user_ykdF5b234afdgd/Scoringboard").orderByChild("Name").addValueEventListener(new ValueEventListener() {

仅适用于这些孩子.... TEILNEHMERDATA包含我的所有用户

2)我如何总结得分?

谢谢=)

如果有什么不清楚,我会解释!

0 个答案:

没有答案