ホームページ >Java >&#&チュートリアル >Firebase 投票アプリでさまざまなユーザー タイプ (学生、教師、管理者) をリダイレクトするにはどうすればよいですか?

Firebase 投票アプリでさまざまなユーザー タイプ (学生、教師、管理者) をリダイレクトするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 07:22:14543ブラウズ

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

Firebase 投票アプリでの複数のユーザー タイプのリダイレクト

Firebase 投票で複数のユーザー タイプをそれぞれのアクティビティにリダイレクトするという課題に対処するには

元々、コードは 2 つのユーザー タイプを正常にリダイレクトしていました。 (STUDENTS および TEACHERS) STUDENTS 子ノードを使用します。ただし、3 番目のユーザー タイプ (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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。