Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java androidstudio中的Firebase增值_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java androidstudio中的Firebase增值

Java androidstudio中的Firebase增值,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,这是我的firebase keyvalue图像 这是我的代码: Query query = myFirebaseRef.orderByChild("age"); query.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot get1) { for(DataSna

这是我的firebase keyvalue图像

这是我的代码:

    Query query = myFirebaseRef.orderByChild("age");
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot get1) {

            for(DataSnapshot get2 : get1.getChildren()) {
                User user = get2.getValue(User.class);
               Log.d("FireBaseTraining", "age =" + user.getAge());

            }
简言之:

  • 我想增加所有年龄的价值
  • 像这样
  • 20+18+19+20+70+..=总年龄
如何修改代码


感谢您的帮助。

只需通过循环获取用户的所有年龄,并将所有年龄相加即可

FirebaseDatabase.getInstance().child("username").orderByChild("age").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    int sum = 0;
                    for(DataSnapshot data : dataSnapshot.getChildren()){
                        User user = data.getValue(User.class);
                        sum = sum + user.getAge();
                    }
                }
            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

感谢您回答我的问题,但我尝试了并得到了错误,因为在我的代码中user.getAge()似乎是字符串而不是interor:(138,39)错误:不兼容类型:字符串无法转换为整数错误:(147,28)错误:变量sum已在onDataChange(DataSnapshot)方法中定义。谢谢!!!我发现我的代码有问题,我使用parseInt删除了user.getAge()中的一些非数字!!!