Вот почему я разочарован Android, поскольку как Firebase, так и Android принадлежат Google!?
Вот проблема, последовательность чтений из Firebase 'un-ocomer nu-ocome wit hon-ocomer ye-ore-ocomer. Смешайте выбор от одного пользователя с другим для одного и до трех пользователей.
Код: Выделить всё
private interface AllUsersCount {
void onComplete(DataSnapshot dataSnapshot);
void onStart();
void onFailure();
}
< /code>
Тогда < /p>
private void readUserCountData(Query query, UsersActivity.AllUsersCount listener) {
listener.onStart();
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
listener.onComplete(dataSnapshot);
} else { // dataSnapshot doesn't exist
Log.e(TAG, "dataSnapshot doesn't exist!!!");
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage());
listener.onFailure();
}
});
}
< /code>
и, наконец, функция, которая все это инициирует: < /p>
private void getUserCount() {
ref = mFirebaseDatabase.getReference("USERS");
query = ref.orderByValue().equalTo(true);
// Completion Handler for Lookups
readUserCountData(query, new UsersActivity.AllUsersCount() {
@Override
public void onComplete(DataSnapshot dataSnapshot) {
int playerIndex = 0;
// Clear the List
userList.clear();
// Determine the number of users
numUsers = (int) dataSnapshot.getChildrenCount();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
String userId = snapshot.getKey();
setPlayerUsername(userId, playerIndex);
playerIndex = playerIndex + 1;
}
}
@Override
public void onStart() {
// When starting
Log.d("ONSTART", "Started");
}
@Override
public void onFailure() {
// If failed
Log.d("onFailure", "Failed");
}
});
}
Все получено из Firebase, но, как я сказал, что некоторые из выборов пользователей знают, что я знаю, что я знаю, что я знаю, что я знает, что я знаю, что я знаю, что я знает, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что я знаю, что все, что я знаю, что я знаю, что все, что я знаю, что я знаю, что я знаю. Чтобы решить это !!!
Подробнее здесь: https://stackoverflow.com/questions/797 ... oncurrency
Мобильная версия