RED: Como redirecionar vários tipos de usuário para as respectivas atividades
compreender o problema
e um aplicativo de votamento de que é intermediário com três tipos de usuário (&&]
em um aplicativo de votamento de três distintos (&& Conecte-se. O código atual gerencia com sucesso o redirecionamento para dois tipos de usuários, mas enfrenta desafios ao tentar incorporar o terceiro tipo (admin). O esquema original atendeu apenas a dois tipos de usuários. Ao introduzir um terceiro tipo, a estrutura deve ser atualizada para incluir um campo "Tipo" para cada usuário. O esquema de banco de dados revisado pode aparecer o seguinte: Firebase-Root | --- Usuários | --- Uidone | | | --- Nome: "Ed" | | | --- Tipo: 1 | --- uidtwo | | | --- Nome: "Tyff" | | | --- Tipo: 2 | --- uidthree | --- Nome: "Admin" | --- TIPO: 3
Atualizando o código
Firebase-root | --- users | --- uidOne | | | --- name: "Ed" | | | --- type: 1 | --- uidTwo | | | --- name: "Tyff" | | | --- type: 2 | --- uidThree | --- name: "Admin" | --- type: 3
com a estrutura de banco de dados atualizada no lugar, o código pode ser ajustado para lidar com o terceiro tipo de usuário. O snippet de código a seguir demonstra como recuperar o valor "tipo" do usuário e redirecioná -lo de acordo: string uid = fireBaseAuth.getInstance (). GetCurrentUser (). GetUid (); DatabaseReference rootRef = FireBasedAtAtabase.getInstance (). GetReference (); DatabaseReference uidref = rootref.child ("usuários"). Child (UID); ValueEventListener ValueEventListener = new ValueEventListener () { @Override public void ondatachange (DataSNAPSHOT DATASNAPSHOT) { if (datasnapshot.child ("type"). getValue (long.class) == 1) { StartActivity (nova intenção (MainActivity.This, Student.class)); } else if (datasnapshot.child ("type"). getValue (long.class) == 2) { startActivity (nova intenção (MainActivity.iThis, professor.class)); } else if (datasnapshot.child ("type"). getValue (long.class) == 3) { startActivity (nova intenção (MainActivity.This, admin.class)); } } @Override public void ONCancelled (@Nonnull DatabaseError DatabaseError) { Log.d (tag, databaseError.getMessage ()); } }; uidref.addlistenerforsingleVeVent (valueEventListener);
Ao implementar essas mudanças, o aplicativo de votação agora pode redirecionar com sucesso todos os três tipos de usuários (alunos, professores e administradores) para suas respectivas atividades após o login.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3