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中文网其他相关文章!