Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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 向Firebase实时数据库中的现有整数数据添加值_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 向Firebase实时数据库中的现有整数数据添加值

Java 向Firebase实时数据库中的现有整数数据添加值,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个按钮,可以更新数据库中的int数据值,但我想向Firebase Realtime数据库中的现有整数数据添加一个值,而不仅仅是将其替换为另一个值 “点”子项中的当前整数值为400。我想给它添加一个数字,然后更新它。 例如,如果我添加200,它将更新firebase中的数据,然后在那里显示600 如果有人能帮我,我会非常感激的 主要代码: Button btnDone; DatabaseReference DBR; int z = 1; @Override

我有一个按钮,可以更新数据库中的int数据值,但我想向Firebase Realtime数据库中的现有整数数据添加一个值,而不仅仅是将其替换为另一个值

“点”子项中的当前整数值为400。我想给它添加一个数字,然后更新它。 例如,如果我添加200,它将更新firebase中的数据,然后在那里显示600

如果有人能帮我,我会非常感激的

主要代码:

Button btnDone;
    DatabaseReference DBR;
    int z = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tapcard);

        btnDone = findViewById(R.id.buttonDone);
        DBR = FirebaseDatabase.getInstance().getReference().child("Member");

        btnDone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DBR.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        int count = (int) dataSnapshot.getChildrenCount();
                        for (z = 1; z < count + 1; z++) {
                            DBR = FirebaseDatabase.getInstance().getReference().child("Member").child(String.valueOf(z));

                            DBR.addValueEventListener(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                    dataSnapshot.getRef().child("points").setValue(100);
                                }

                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError) {

                                }
                            });
                        }
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });

                Intent i = new Intent(TapCardActivity.this, HomeActivity.class);
                startActivity(i);
            }
        });
    }

向实时数据库中的属性添加值的最简单方法是使用(非常新的)
increment()
操作

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("Member").child(String.valueOf(z));
userRef.child("points").setValue(ServerValue.increment(200));
另见:


向实时数据库中的属性添加值的最简单方法是使用(非常新的)
increment()
操作

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("Member").child(String.valueOf(z));
userRef.child("points").setValue(ServerValue.increment(200));
另见: