как мне получить данные из firebase без прослушивания изменений?

Я хотел создать приложение, которое использует firebase в качестве бэкэнда. Теперь проблема заключается в том, что мне нужно подключить прослушиватель, чтобы получить снимок данных. Но каждый раз, когда мое приложение запускается, я хочу запрашивать у Firebase данные и заполнять свои представления, даже если в базе данных не было никаких изменений.


person sharang gupta    schedule 14.09.2016    source источник
comment
пожалуйста, поделитесь своим кодом   -  person Linh    schedule 14.09.2016
comment
ответ должен быть здесь: firebase.google.com/docs/ база данных/андроид/   -  person Nerdy Bunz    schedule 14.09.2016


Ответы (1)


Я полагаю, вы делаете что-то вроде этого:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Code 
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            // Code
        }
    });

Итак, о чем, как я думаю, вы спрашиваете, вызов альтернативного метода под названием addListenerForSingleValueEvent должен решить проблему. Он не будет прослушивать изменения, как только вернет значение, он перестанет подключаться до тех пор, пока не будет подключен снова.


Результат

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
    ref.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Code 
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            // Code
        }
    });
person Sergio Carneiro    schedule 14.09.2016
comment
Спасибо.... Теперь я понял.... проблема заключалась в том, что имя переопределяющего метода onDatachange вводило в заблуждение, я думал, что он вызывается только при изменении данных. - person sharang gupta; 15.09.2016
comment
Долгое время я работал над firebase, у меня была эта проблема около недели, думая, что проблема может быть в бэкэнде. Вы спасли мою пятницу! - person olajide; 06.12.2019