0
Firebase 데이터베이스에서 "Coins"와 그 값인 "20"을 가지고 있습니다. 이제 나는에 직접 값 (즉, 동전) 5를 더하고 싶습니다.안드로이드의 Firebase 데이터베이스에 직접 숫자를 추가하는 방법
그래서 사용자가 버튼을 클릭 할 때마다 서버에서 직접 동전 값이 5 만큼 증가해야합니다. 그렇게 할 방법이 있습니까?
Firebase 데이터베이스에서 "Coins"와 그 값인 "20"을 가지고 있습니다. 이제 나는에 직접 값 (즉, 동전) 5를 더하고 싶습니다.안드로이드의 Firebase 데이터베이스에 직접 숫자를 추가하는 방법
그래서 사용자가 버튼을 클릭 할 때마다 서버에서 직접 동전 값이 5 만큼 증가해야합니다. 그렇게 할 방법이 있습니까?
Fattie가 언급했듯이 Firebase Database transactions을 사용합니다. 트랜잭션을 사용하면 현재 값에 대한 클라이언트의 최상의 추측을 얻고이를 기반으로 새 값을 반환합니다. 따라서 귀하의 경우 :
coinsRef.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
long value = 0;
if (mutableData.exists()) {
value = mutableData.getValue(Long.class);
}
value = value + 5;
mutableData.setValue(value);
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError, boolean b,
DataSnapshot dataSnapshot) {
Log.d(TAG, "runTransaction:onComplete:" + databaseError);
}
});
Firebase에서 "transactions"를 사용하십시오. – Fattie