«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как перенаправить несколько типов пользователей (студентов, учителей и администраторов) на их соответствующие действия в приложении Firebase?

Как перенаправить несколько типов пользователей (студентов, учителей и администраторов) на их соответствующие действия в приложении Firebase?

Опубликовано в 2025-03-24
Просматривать:786

] How to Redirect Multiple User Types (Students, Teachers, and Admins) to Their Respective Activities in a Firebase App?

red: Как перенаправить несколько типов пользователей на соответствующие действия

понимание проблемы

в огненном приложении, основанном авторизоваться. Текущий код успешно управляет перенаправлением для двух типов пользователей, но сталкивается с проблемами при попытке включить третий тип (admin).

изменение решения для нескольких типов пользователей

для размещения третьего пользовательского типа, первый шаг состоит в том, чтобы изменить структуру DataBase. Оригинальная схема обслуживала только два типа пользователей. Представляя третий тип, структура должна быть обновлена, чтобы включить поле «Тип» для каждого пользователя. Пересмотренная схема базы данных может показаться следующим образом:

Firebase-root
    |
    --- users
          |
          --- uidOne
          |     |
          |     --- name: "Ed"
          |     |
          |     --- type: 1
          |
          --- uidTwo
          |     |
          |     --- name: "Tyff"
          |     |
          |     --- type: 2
          |
          --- uidThree
                |
                --- name: "Admin"
                |
                --- type: 3

Обновление кода

с обновленной структурой базы данных, код может быть скорректирован для обработки третьего типа пользователя. Следующий фрагмент кода демонстрирует, как получить значение «Тип» пользователя и перенаправить их соответственно:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("users").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if(dataSnapshot.child("Type").getValue(Long.class) == 1) {
            startActivity(new Intent(MainActivity.this, student.class));
        } else if (dataSnapshot.child("TYPE").getValue(Long.class) == 2) {
            startActivity(new Intent(MainActivity.this, teacher.class));
        } else if (dataSnapshot.child("TYPE").getValue(Long.class) == 3) {
            startActivity(new Intent(MainActivity.this, admin.class));
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
uidRef.addListenerForSingleValueEvent(valueEventListener);

, реализуя эти изменения, приложение для голосования теперь может успешно перенаправить все три типа пользователей (студентов, учителей и администраторов) в их соответствующую деятельность после входа в систему.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3