Как использовать запрос Firebase в условии if else на основании информации пользователя - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь создать запрос с условием оператора if / else, основанный на преподавательском составе, программе и семестре. Пример, если студент учился на факультете компьютерных и творческих технологий и обучается по программе бакалавриата компьютерных наук (с отличием) и в настоящее время в семестре 2 / год. Как получить все курсы в семестре 2 / год1 для зачисления на курсы?

Здесь это изображение базы данных Firebase Database

А вот код для извлечения courseID и CourseName на основе преподавательского состава, программы и семестра (на самом деле я не знаю, как это сделать).

я не показываю все свое кодирование, потому что я просто показываю, в чем проблема. Надеюсь, вы понимаете, что я пытаюсь сказать. Спасибо

```dbCourse = FirebaseDatabase.getInstance().getReference().child("Faculty");

    if(tvProgramme.equals("Bachelor Of Computer Sciences (Hons)")){
        if(tvSemester.equals("semester1/year1")){
            final Query query = FirebaseDatabase.getInstance().getReference("Faculty").child("Faculty of Computing and Creative Technology").child("Programme")
            .child("Bachelor of Computer Sciences (Hons)").child("Year 1").child("Semester 1");

            query.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    courseList= new ArrayList<CourseModel>();
                    for(DataSnapshot dataSnapshot1: dataSnapshot.getChildren())
                    {
                        CourseModel p = dataSnapshot1.getValue(CourseModel.class);
                        courseList.add(p);

                    }
                    adapter = new RegisterCourseAdapter(courseList);
                    recyclerView.setAdapter(adapter);
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(RegisterCourseActivity.this, "There is an error occur. Please try again.", Toast.LENGTH_LONG).show();

                }
            });

        }
        else if(tvSemester.equals("semester2/year1")){
            final Query query = FirebaseDatabase.getInstance().getReference("Faculty").child("Faculty of Computing and Creative Technology").child("Programme")
                    .child("Bachelor of Computer Sciences (Hons)").child("Year 1").child("Semester 2");

                query.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        courseList= new ArrayList<CourseModel>();
                        for(DataSnapshot dataSnapshot1: dataSnapshot.getChildren())
                        {
                            CourseModel p = dataSnapshot1.getValue(CourseModel.class);
                            courseList.add(p);

                        }
                        adapter = new RegisterCourseAdapter(courseList);
                        recyclerView.setAdapter(adapter);
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {
                        Toast.makeText(RegisterCourseActivity.this, "There is an error occur. Please try again.", Toast.LENGTH_LONG).show();

                    }
                });


        }
        else if(tvSemester.equals("semester3/year1")){
            final Query query = FirebaseDatabase.getInstance().getReference("Faculty").child("Faculty of Computing and Creative Technology").child("Programme")
                    .child("Bachelor of Computer Sciences (Hons)").child("Year 1").child("Semester 3");

            query.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    courseList= new ArrayList<CourseModel>();
                    for(DataSnapshot dataSnapshot1: dataSnapshot.getChildren())
                    {
                        CourseModel p = dataSnapshot1.getValue(CourseModel.class);
                        courseList.add(p);

                    }
                    adapter = new RegisterCourseAdapter(courseList);
                    recyclerView.setAdapter(adapter);
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(RegisterCourseActivity.this, "There is an error occur. Please try again.", Toast.LENGTH_LONG).show();

                }
            });


        }


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