ホームページ >Java >&#&チュートリアル >Firebase 投票アプリでさまざまなユーザー タイプ (学生、教師、管理者) をリダイレクトするにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。