Maison >Java >javaDidacticiel >Comment rediriger plusieurs types d'utilisateurs (étudiants, enseignants et administrateurs) vers leurs activités respectives dans une application Firebase ?

Comment rediriger plusieurs types d'utilisateurs (étudiants, enseignants et administrateurs) vers leurs activités respectives dans une application Firebase ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-10 19:31:10432parcourir

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

Rouge : Comment rediriger plusieurs types d'utilisateurs vers des activités respectives

Comprendre le problème

Dans une application de vote basée sur Firebase avec trois types d'utilisateurs distincts (étudiants, enseignants et administrateurs), il est nécessaire de rediriger chaque utilisateur à leur activité spécifique après la connexion. Le code actuel gère avec succès la redirection pour deux types d'utilisateurs, mais se heurte à des difficultés lorsqu'il tente d'incorporer le troisième type (admin).

Modification de la solution pour plusieurs types d'utilisateurs

Pour accueillir le troisième type d'utilisateur, la première étape consiste à modifier la structure de la base de données. Le schéma original ne s'adressait qu'à deux types d'utilisateurs. En introduisant un troisième type, la structure doit être mise à jour pour inclure un champ « type » pour chaque utilisateur. Le schéma de base de données révisé peut apparaître comme suit :

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

Mise à jour du code

Avec la structure de base de données mise à jour en place, le code peut être ajusté pour gérer le troisième type d'utilisateur. L'extrait de code suivant montre comment récupérer la valeur « type » de l'utilisateur et le rediriger en conséquence :

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);

En implémentant ces modifications, l'application de vote peut désormais rediriger avec succès les trois types d'utilisateurs (étudiants, enseignants, et administrateurs) à leurs activités respectives après la connexion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn