Home >Java >javaTutorial >How to Redirect Different User Types (Student, Teacher, Admin) in a Firebase Voting App?
Redirection of Multiple User Types in Firebase Voting App
To address the challenge of redirecting multiple user types to their respective activities in a Firebase voting app, a modification to the existing code is necessary.
Originally, the code successfully redirected two user types (STUDENTS and TEACHERS) using the STUDENTS child node. However, to accommodate the third user type (ADMIN), a change in the database structure is required.
The new database schema should include a root node called users, under which there will be a child node for each user. Each user node should contain information such as name and a type field that identifies their user type.
With the updated database structure, the code can be modified as follows:
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);
This updated code adds a listener to the users node and checks the type field of the current user to determine their user type. Based on the user type, the appropriate activity is started.
The above is the detailed content of How to Redirect Different User Types (Student, Teacher, Admin) in a Firebase Voting App?. For more information, please follow other related articles on the PHP Chinese website!