我正在创建一个投票应用。 Firebase数据库会计算按钮的点击次数并显示该按钮。但是,在关闭应用程序并重新启动时,点击次数从零开始。即使应用程序关闭并重新启动而不是从零开始投票,我如何继续将投票数添加到子节点?
mainactivity.java
info
答案 0 :(得分:3)
来自Firebase文档:
在处理可能被并发更新损坏的复杂数据时使用我们的交易功能
public void incrementCounter() {
firebase.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(final MutableData currentData) {
if (currentData.getValue() == null) {
currentData.setValue(1);
} else {
currentData.setValue((Long) currentData.getValue() + 1);
}
return Transaction.success(currentData);
}
@Override
public void onComplete(FirebaseError firebaseError, boolean committed, DataSnapshot currentData) {
if (firebaseError != null) {
Log.d("Firebase counter increment failed.");
} else {
Log.d("Firebase counter increment succeeded.");
}
}
});
}