rot: Wie man mehrere Benutzertypen zu jeweiligen Aktivitäten umleitet Login. Der aktuelle Code verwaltet die Umleitung für zwei Benutzertypen erfolgreich, steht jedoch vor Herausforderungen, wenn versucht wird, den dritten Typ (admin) zu integrieren.
Änderung der Lösung für mehrere Benutzertypen
, um den dritten Benutzertyp zu erstellen, besteht darin, die Datenbankstruktur zu ändern. Das ursprüngliche Schema wurde nur an zwei Arten von Benutzern geeignet. Durch die Einführung eines dritten Typs muss die Struktur aktualisiert werden, um für jeden Benutzer ein Feld "Typ" aufzunehmen. Das überarbeitete Datenbankschema kann wie folgt angezeigt werden:Firebase-Root | --- Benutzer | --- Uidone | | | --- Name: "ed" | | | --- Typ: 1 | --- Uidtwo | | | --- Name: "Tyff" | | | --- Typ: 2 | --- Uidtrhree | --- Name: "Admin" " | --- Typ: 3
Aktualisieren des Code
mit der aktualisierten Datenbankstruktur können der Code angepasst werden, um den dritten Benutzertyp zu verarbeiten. Der folgende Code -Snippet zeigt, wie Sie den Wert "Typ" des Benutzers abrufen und entsprechend umleiten:
Firebase-root | --- users | --- uidOne | | | --- name: "Ed" | | | --- type: 1 | --- uidTwo | | | --- name: "Tyff" | | | --- type: 2 | --- uidThree | --- name: "Admin" | --- type: 3String uid = FirebaseAth.getInstance (). GetCurrentuser (). Getuid (); Databaserference RootRef = Firebasedatabase.getInstance (). GetReference (); Databaserference uidref = rootRef.child ("Benutzer"). Child (UID); ValueEventListener ValueEventListener = new ValueEventListener () { @Override public void ondatachange (datasNapshot datasNapshot) { if (datasNapshot.child ("Typ"). getValue (long.class) == 1) { StartActivity (neue Absicht (MainActivity.This, Student.Class)); } else if (datasNapshot.child ("Typ"). getValue (long.class) == 2) { StartActivity (neue Absicht (MainActivity.This, Lehrer.Class)); } else if (datasNapshot.child ("Typ"). getValue (long.class) == 3) { Startaktivität (neue Absicht (MainActivity.This, admin.class)); } } @Override public void oncancelled (@nonnull DataBaseError DataBaseError) { Log.d (Tag, DataBaseError.getMessage ()); } }; uidref.addListenerforsingleValueEvent (ValueEventListener);
Durch die Implementierung dieser Änderungen kann die Abstimmungs -App nun alle drei Arten von Benutzern (Schüler, Lehrer und Administratoren) nach Login erfolgreich umleiten. .
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3