首页 >Java >java教程 >如何在 Firebase 投票应用程序中重定向不同的用户类型(学生、教师、管理员)?

如何在 Firebase 投票应用程序中重定向不同的用户类型(学生、教师、管理员)?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-18 07:22:14536浏览

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

Firebase 投票应用中多种用户类型的重定向

解决将多个用户类型重定向到 Firebase 投票中各自活动的挑战app,需要对现有代码进行修改。

原本代码成功重定向了两种用户类型(学生和教师)使用学生子节点。但是,为了适应第三种用户类型(ADMIN),需要更改数据库结构。

新的数据库架构应包含一个名为 users 的根节点,在该根节点下每个用户都会有一个子节点。每个用户节点应包含诸如名称和标识其用户类型的类型字段等信息。

通过更新的数据库结构,可以将代码修改如下:

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

此更新代码向 users 节点添加一个侦听器,并检查当前用户的 type 字段以确定其用户类型。根据用户类型,启动适当的活动。

以上是如何在 Firebase 投票应用程序中重定向不同的用户类型(学生、教师、管理员)?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn