Maison > Java > javaDidacticiel > Comment rediriger différents types d'utilisateurs (étudiant, enseignant, administrateur) dans une application de vote Firebase ?

Comment rediriger différents types d'utilisateurs (étudiant, enseignant, administrateur) dans une application de vote Firebase ?

Mary-Kate Olsen
Libérer: 2024-12-18 07:22:14
original
536 Les gens l'ont consulté

How to Redirect Different User Types (Student, Teacher, Admin) in a Firebase Voting App?

Redirection de plusieurs types d'utilisateurs dans l'application de vote Firebase

Pour relever le défi de rediriger plusieurs types d'utilisateurs vers leurs activités respectives dans un vote Firebase app, une modification du code existant est nécessaire.

À l'origine, le code redirigeait avec succès deux types d'utilisateurs (ÉTUDIANTS et TEACHERS) à l’aide du nœud enfant STUDENTS. Cependant, pour accueillir le troisième type d'utilisateur (ADMIN), une modification de la structure de la base de données est requise.

Le nouveau schéma de base de données doit inclure un nœud racine appelé utilisateurs, sous lequel il y aura un nœud enfant pour chaque utilisateur. . Chaque nœud utilisateur doit contenir des informations telles que le nom et un champ de type qui identifie son type d'utilisateur.

Avec la structure de base de données mise à jour, le code peut être modifié comme suit :

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);
Copier après la connexion

Cette mise à jour le code ajoute un écouteur au nœud des utilisateurs et vérifie le champ de type de l'utilisateur actuel pour déterminer son type d'utilisateur. En fonction du type d'utilisateur, l'activité appropriée est lancée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal