
这是一个增加单个计数器的示例方法。关键思想是您要么创建条目(将其设置为等于1),要么对现有条目进行 突变
。在此处使用事务可确保如果多个客户端尝试同时增加计数器,则所有请求最终都将成功。从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."); } } });}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)