Java 向Firebase实时数据库中的现有整数数据添加值
我有一个按钮,可以更新数据库中的int数据值,但我想向Firebase Realtime数据库中的现有整数数据添加一个值,而不仅仅是将其替换为另一个值 “点”子项中的当前整数值为400。我想给它添加一个数字,然后更新它。 例如,如果我添加200,它将更新firebase中的数据,然后在那里显示600 如果有人能帮我,我会非常感激的 主要代码: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
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));
另见: