Запросить Firebase на javascript - PullRequest
2 голосов
/ 18 июня 2020

Я создаю приложение-викторину и хочу отфильтровать свои вопросы из базы данных по уровню и категории, но не знаю, как это сделать. Я уже реализовал levelRef, чтобы получить уровень и отобразить его на экране. Я также хочу получить категорию и отфильтровать вопросы (например: если пользователь нажимает на спорт, я буду отображать только спортивные вопросы).

Вот мой код `private void updateQuestion () {countDownTimer.cancel ();

    mQuestionRef = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/question");
    mQuestionRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String question = dataSnapshot.getValue(String.class);
            mQuestion.setText(question);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mChoice1Ref = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/choice1");
    mChoice1Ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String choice = dataSnapshot.getValue(String.class);
            mButtonChoice1.setText(choice);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mChoice2Ref = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/choice2");
    mChoice2Ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String choice = dataSnapshot.getValue(String.class);
            mButtonChoice2.setText(choice);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mChoice3Ref = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/choice3");
    mChoice3Ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String choice = dataSnapshot.getValue(String.class);
            mButtonChoice3.setText(choice);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mChoice4Ref = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/choice4");
    mChoice4Ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String choice = dataSnapshot.getValue(String.class);
            mButtonChoice4.setText(choice);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mAnswerRef = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/answer");
    mAnswerRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            mAnswer = dataSnapshot.getValue(String.class);
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mLevelRef = new Firebase("https://quizer-f3732.firebaseio.com/Questions/" + mQuestionNumber + "/level");
    mLevelRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            level = dataSnapshot.getValue(String.class);
            mLevel.setText("Livello " + level);

        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });


    mProgressQuestion.incrementProgressBy(PROGRESS_INCREMENT);
    mQuestionNumber++;
    timeLeftInMillis = COUNTDOWN_IN_MILLIS;
    startCountDown();



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