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