Firebase onCancelled вызывается - PullRequest
       2

Firebase onCancelled вызывается

0 голосов
/ 21 февраля 2019

Поэтому я пытаюсь получить очень простое значение из моего простого Realtime Database

Моя структура базы данных выглядит следующим образом

project-url thing
{
     OnlineUsers: 0

И я пытаюсь получить это значение OnlineUsers всякий раз, когдателефон открывает приложение.

Проблема в том, что onCancelled вызывается вместо моего onDataChange, поэтому он никогда не получает значение.Я не уверен, почему вызывается onCancelled.

Это мой код

public class HomePage extends AppCompatActivity {

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference laRef = database.getReference("OnlineUsers");
double onlineUsers;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home_page);

    final TickerView lotteryTicker = findViewById(R.id.tickerView);

    Log.i("HomePage", "!!Before callback");
    updatePlayers(new PlayersCallback() {
        @Override
        public void onCallback(double amount) {
            String onlineUsers = Double.toString(amount);
            Log.i("HomePage", "!!Got in");
            lotteryTicker.setText(onlineUsers);
        }
    });
    Log.i("HomePage", "!!After callback");
 }

public interface PlayersCallback {
    void onCallback(double amount);
}

public void updatePlayers(final PlayersCallback callBack) {
    Log.i("HomePage", "!!Before value listener");
    laRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            onlineUsers = (double) dataSnapshot.getValue();
            Log.i("HomePage", "!!Inside callback");

            callBack.onCallback(onlineUsers);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Log.i("HomePage", "!!onCancelled");
        }
    });
}
}

Я настроил callback для получения значения и также поместил некоторые операторы Log втак что я могу видеть, где работает код.В конечном итоге код заканчивается методом onCancelled, поэтому ничего не происходит.

Почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...