Dalam konteks aplikasi pengundian berasaskan Firebase, anda tertanya-tanya bagaimana untuk mengubah hala tiga jenis pengguna yang berbeza (MURID, GURU, dan ADMIN) ke aktiviti masing-masing selepas log masuk. Berikut ialah versi kod anda yang diubah suai untuk memenuhi keperluan ini:
mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); if (firebaseUser != null) { String uid = firebaseUser.getUid(); DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference usersRef = rootRef.child("users").child(uid); ValueEventListener userListener = new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // Assert that the DataSnapshot is valid if (!dataSnapshot.exists()) { Log.e(TAG, "Error: DataSnapshot not found"); return; } // Check the user type and redirect accordingly 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.e(TAG, databaseError.getMessage()); } }; usersRef.addListenerForSingleValueEvent(userListener); } } };
Perubahan Utama:
Atas ialah kandungan terperinci Bagaimana untuk Mengubah hala Pelajar, Guru dan Pentadbir ke Aktiviti Masing-masing Selepas Pengesahan Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!