У меня есть одно значение в базе данных child"received"
поле.Мне нужно обновить это с новым значением некоторой программой сложения Integer.На самом деле я пытаюсь добавить это значение через один AlertDialog
, тем самым я хочу добавить currentValue, присутствующий в базе данных, с моим введенным значением.Но добавляйте эти значения всякий раз, когда значение базы данных меняется.Я не смог разместить код за пределами базы данных.Как мне этого добиться?
Мой код
amountEnteredString=mAmount.getText().toString();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child(userName);
final DatabaseReference receivedRef = ref.child(month).child(customerName).child("received");
receivedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
currentDatabaseValueString = dataSnapshot.getValue(String.class);
Integer currentDatabaseValue=Integer.parseInt(currentDatabaseValueString);
Integer amountEntered=Integer.parseInt(amountEnteredString);
Integer result=currentDatabaseValue+amountEntered;
String resultString=Integer.toString(result);
receivedRef.setValue(resultString);
dialoag.dismiss();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w("name", "load:onCancelled", databaseError.toException());
}
});
}
});
mBuilder.setView(mView);
dialoag= mBuilder.create();
dialoag.show();
}
});