首页 > Java > java教程 > 如何将多个用户类型(学生、教师和管理员)重定向到 Firebase 应用中各自的活动?

如何将多个用户类型(学生、教师和管理员)重定向到 Firebase 应用中各自的活动?

Susan Sarandon
发布: 2024-12-10 19:31:10
原创
482 人浏览过

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

红色:如何将多个用户类型重定向到各自的活动

理解问题

在一个基于 Firebase 的投票应用程序中,具有三种不同的用户类型(学生、教师和管理员),需要在登录后将每个用户重定向到他们的特定活动。当前代码成功管理了两种用户类型的重定向,但在尝试合并第三种类型(管理员)时面临挑战。

修改多个用户类型的解决方案

为了适应第三种用户类型,第一步是修改数据库结构。原始模式仅迎合两类用户。通过引入第三种类型,必须更新结构以包含每个用户的“类型”字段。修改后的数据库架构可能如下所示:

Firebase-root
    |
    --- users
          |
          --- uidOne
          |     |
          |     --- name: "Ed"
          |     |
          |     --- type: 1
          |
          --- uidTwo
          |     |
          |     --- name: "Tyff"
          |     |
          |     --- type: 2
          |
          --- uidThree
                |
                --- name: "Admin"
                |
                --- type: 3
登录后复制

更新代码

更新的数据库结构到位后,可以调整代码以处理第三个用户类型。以下代码片段演示了如何检索用户的“类型”值并相应地重定向它们:

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);
登录后复制

通过实施这些更改,投票应用程序现在可以成功重定向所有三种类型的用户(学生、教师、和管理员)登录后即可进行各自的活动。

以上是如何将多个用户类型(学生、教师和管理员)重定向到 Firebase 应用中各自的活动?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板