【发布时间】:2020-06-30 10:18:24
【问题描述】:
**我需要帮助。我在开发应用程序时遇到了一些问题。这是我第一次使用 int 值。
假设用户在 Firebase 数据库中有一个 ID。在他手机号下的Balance节点中,如图所示,有“task”和“referral”2个int值。 firebase database 当有人将他的号码用作参考时,我想用他的旧推荐余额添加 int 20。 我尽我所能,但在将新值放入数据库后,余额值不断增加,直到应用程序崩溃。**
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
creditRef();
}
});
}
private void creditRef() {
ref = ref_mob.getText().toString();
balData.child(ref).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
{
if (dataSnapshot.exists())
{
String old = dataSnapshot.child("referral").getValue().toString();
double num1 = Double.parseDouble(old);
double num2 = Double.parseDouble(String.valueOf(20));
double sum = num1 + num2;
HashMap<String, Object> balMap = new HashMap<>();
balMap.put("referral", sum);
balData.child(ref).updateChildren(balMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task)
{
if (task.isSuccessful())
{
Toast.makeText(AddDetailsActivity.this, "Reference credited", Toast.LENGTH_SHORT).show();
}
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
【问题讨论】:
标签: java android firebase firebase-realtime-database