Heim >Java >javaLernprogramm >Wie leite ich mehrere Benutzertypen (Schüler, Lehrer und Administratoren) zu ihren jeweiligen Aktivitäten in einer Firebase-App um?

Wie leite ich mehrere Benutzertypen (Schüler, Lehrer und Administratoren) zu ihren jeweiligen Aktivitäten in einer Firebase-App um?

Susan Sarandon
Susan SarandonOriginal
2024-12-10 19:31:10479Durchsuche

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

Rot: So leiten Sie mehrere Benutzertypen zu jeweiligen Aktivitäten um

Das Problem verstehen

In einer Firebase-basierten Abstimmungs-App mit drei unterschiedlichen Benutzertypen (Schüler, Lehrer und Administratoren) besteht die Notwendigkeit, jeden Benutzer zu seinem umzuleiten spezifische Aktivität nach dem Login. Der aktuelle Code verwaltet erfolgreich die Umleitung für zwei Benutzertypen, steht jedoch vor Herausforderungen, wenn versucht wird, den dritten Typ (Administrator) zu integrieren.

Ändern der Lösung für mehrere Benutzertypen

Um dem dritten Benutzertyp gerecht zu werden, besteht der erste Schritt darin, die Datenbankstruktur zu ändern. Das ursprüngliche Schema war nur auf zwei Arten von Benutzern ausgerichtet. Durch die Einführung eines dritten Typs muss die Struktur aktualisiert werden, um für jeden Benutzer ein „Typ“-Feld aufzunehmen. Das überarbeitete Datenbankschema könnte wie folgt aussehen:

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

Aktualisierung des Codes

Sobald die aktualisierte Datenbankstruktur vorhanden ist, kann der Code angepasst werden, um den dritten zu verarbeiten Benutzertyp. Das folgende Code-Snippet zeigt, wie der „Typ“-Wert des Benutzers abgerufen und entsprechend umgeleitet wird:

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

Durch die Implementierung dieser Änderungen kann die Abstimmungs-App nun alle drei Benutzertypen (Schüler, Lehrer usw.) erfolgreich umleiten. und Administratoren) zu ihren jeweiligen Aktivitäten nach der Anmeldung.

Das obige ist der detaillierte Inhalt vonWie leite ich mehrere Benutzertypen (Schüler, Lehrer und Administratoren) zu ihren jeweiligen Aktivitäten in einer Firebase-App um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn