Rumah >Java >javaTutorial >Bagaimana untuk Ubah hala Jenis Pengguna Berbeza (Pelajar, Guru, Pentadbir) dalam Apl Pengundian Firebase?

Bagaimana untuk Ubah hala Jenis Pengguna Berbeza (Pelajar, Guru, Pentadbir) dalam Apl Pengundian Firebase?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-18 07:22:14538semak imbas

How to Redirect Different User Types (Student, Teacher, Admin) in a Firebase Voting App?

Pengalihan Berbilang Jenis Pengguna dalam Apl Pengundian Firebase

Untuk menangani cabaran mengubah hala berbilang jenis pengguna ke aktiviti masing-masing dalam pengundian Firebase app, pengubahsuaian kepada kod sedia ada adalah perlu.

Pada asalnya, kod itu berjaya mengubah hala dua jenis pengguna (MURID dan GURU) menggunakan nod anak PELAJAR. Walau bagaimanapun, untuk menampung jenis pengguna ketiga (ADMIN), perubahan dalam struktur pangkalan data diperlukan.

Skema pangkalan data baharu harus termasuk nod akar yang dipanggil pengguna, di mana akan terdapat nod anak untuk setiap pengguna . Setiap nod pengguna harus mengandungi maklumat seperti nama dan medan jenis yang mengenal pasti jenis pengguna mereka.

Dengan struktur pangkalan data yang dikemas kini, kod boleh diubah suai seperti berikut:

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

Ini dikemas kini kod menambah pendengar kepada nod pengguna dan menyemak medan jenis pengguna semasa untuk menentukan jenis pengguna mereka. Berdasarkan jenis pengguna, aktiviti yang sesuai dimulakan.

Atas ialah kandungan terperinci Bagaimana untuk Ubah hala Jenis Pengguna Berbeza (Pelajar, Guru, Pentadbir) dalam Apl Pengundian Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn