【发布时间】:2016-06-19 12:57:12
【问题描述】:
我正在尝试使用 Firebase 数据库的 runTransaction(),但它无法正常工作。这是我正在使用的代码。
numQuestionRef.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
String numQuestions = (String) mutableData.getValue();
long value = Long.parseLong(numQuestions, 16);
value++;
String incHex = Long.toHexString(value);
mutableData.setValue(incHex);
return Transaction.success(mutableData);
}
@Override
public void onComplete(FirebaseError firebaseError, boolean b, DataSnapshot dataSnapshot) {
}
});
当我在我的应用程序中按下按钮时,此代码被激活。当我启动应用程序后第一次按下按钮时,我的数据库没有改变。但是当我启动应用程序后第二次按下按钮时,它会将其更新为下一个数字。我不明白它出了什么问题,或者为什么它只在第二次按下按钮时才会这样做。
【问题讨论】:
标签: android firebase firebase-realtime-database transactions