【发布时间】:2021-09-11 10:21:24
【问题描述】:
我正在 Firebase 上创建一个投票应用。我有 3 种类型的用户。到目前为止,我可以成功地将两种用户(学生、教师)重定向到他们各自的活动,他们使用下面的代码登录后,MY Users so far 但是现在我必须添加另一个用户(ADMIN),并且像其他用户一样,管理员也应该在登录后被重定向到他们自己的特定活动。我对如何为第三个用户修改我的代码感到困惑。
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
if (mAuth.getCurrentUser() != null) {
String uid = mAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
uidRef = rootRef.child("STUDENTS").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
//start students activity
startActivity(new Intent(MainActivity.this, student.class));
} else {
//start teachers activity
startActivity(new Intent(MainActivity.this, teacher.class));
}
}
//
@Override
public void onCancelled(DatabaseError databaseError)
{
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
}
else{
Log.d("TAG", "firebaseUser is null");
}
}
};
【问题讨论】:
-
您是否尝试过以与学生和老师相同的方式做事?
-
IF Else 条件非常适合学生和教师。我知道代码没问题,但不知道如何为第三个用户进一步修改它。感谢您回复亚历克斯。
-
你试过用switch语句吗?
-
它的具体条件是什么?你能解释一下吗?
-
问题解决了吗?
标签: java android firebase android-studio firebase-authentication