У меня есть этот код для обновления Оценка вопроса в базе данных Firebase:
Код для отправки оценки в Firebase:
setAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
String username = mAuth.getCurrentUser().getDisplayName();
//Upload points to Database
question_score.child(String.format("%s_%s", username,
Common.categoryID))
.setValue(new QuestionScore(String.format("%s_%s", username,
Common.categoryID),
username,
String.valueOf(score),
Common.categoryID,
Common.categoryName));
}
// Log.d(LOGIN_STATUS_CHANGED_TAG, "onAuthStateChanged:signed_in:" + user.getUid());
else {
// Log.d(LOGIN_STATUS_CHANGED_TAG, "onAuthStateChanged:signed_out");
// close the game room
finish();
}
}
});
}
Модель оценки вопросов
public QuestionScore(String question_Score, String user, String score, String categoryID, String categoryName) {
Question_Score = question_Score;
this.user = user;
this.score = score;
CategoryID = categoryID;
CategoryName = categoryName;
}
И Firebase JSON:
"Smrodo_01" : {
"categoryID" : "01",
"categoryName" : "Intelligence",
"question_Score" : "Smrodo_01",
"score" : "30",
"user" : "Smrodo"
},
Как я могу проверить значение существующего счета и обновить только если новый счет выше, чем существующий?
Прокомментируйте, если требуется какое-либо разъяснение.