entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

login con privilegios de usuario en android studio

soy nuevo en esto del desarrollo Móvil, Busco Ayuda Para realizar un login con niveles de usuario y dependiendo de ello se activen o oculten ciertos items de mi menú circle les agradecería algún ejemplo o idea de como hacerlo por favor.

aqui codigo------

public class MainActivity extends AppCompatActivity {

    CircleMenu circleMenu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        circleMenu = (CircleMenu) findViewById(R.id.circle_menu);

        circleMenu.setMainMenu(Color.parseColor("#80CDCDCD"), R.mipmap.locodi, R.mipmap.icon_cancel);
        circleMenu
                .addSubMenu(Color.parseColor("#80258CFF"), R.mipmap.web)
                .addSubMenu(Color.parseColor("#8030A400"), R.mipmap.dashboard)
                .addSubMenu(Color.parseColor("#80FF4B32"), R.mipmap.mapsblanco)
                .addSubMenu(Color.parseColor("#808A39FF"), R.mipmap.ajustes)
                .addSubMenu(Color.parseColor("#80FF6A00"), R.mipmap.sha);

        circleMenu.setOnMenuSelectedListener(new OnMenuSelectedListener() {

                                                 @Override
                                                 public void onMenuSelected(int index) {
                                                     switch (index) {
                                                         case 0:
                                                             Toast.makeText(MainActivity.this, "Bienvenido a Pagina Web", Toast.LENGTH_SHORT).show();

                                                             startActivity(new Intent(MainActivity.this, Codinamex.class));

                                                             break;

                                                         case 1:
                                                             Toast.makeText(MainActivity.this, "Bienvenido a Dashboard", Toast.LENGTH_SHORT).show();
                                                             startActivity(new Intent(MainActivity.this, CodinamexDashboard.class));
                                                             break;
                                                         case 2:
                                                             Toast.makeText(MainActivity.this, "Bienvenido a Gps", Toast.LENGTH_SHORT).show();
                                                             startActivity(new Intent(MainActivity.this, MapsActivity.class));
                                                             break;
                                                         case 3:
                                                             Toast.makeText(MainActivity.this, "Bienvenido a Configuracion", Toast.LENGTH_SHORT).show();
                                                             startActivity(new Intent(MainActivity.this, ConfUserActivity.class));
                                                             break;
                                                         case 4:
                                                             Toast.makeText(MainActivity.this, "Bienvenido a Registro de Incidentes", Toast.LENGTH_SHORT).show();
                                                             startActivity(new Intent(MainActivity.this, Sha.class));
                                                             break;
                                                     }
                                                 }
                                             }

        );

        circleMenu.setOnMenuStatusChangeListener(new OnMenuStatusChangeListener() {

                                                     @Override
                                                     public void onMenuOpened() {

                                                     }

                                                     @Override
                                                     public void onMenuClosed() {

                                                     }
                                                 }
        );
    }

    @Override
    public void onBackPressed() {
        if (circleMenu.isOpened())
            circleMenu.closeMenu();
        else
            finish();
    }

}

1 Respuesta

1voto

Th3Mik3s Puntos2820

Con poco contexto te puedo decir lo siguiente:

En tu servicio:

Objeto Usuario

public class Usuario {
  private Long idUsuario;
  private String usuario;
  private String clave;
  private String token;
  private List<Modulo> modulos;
/* setters, getters, equal, hashcode */
}

Objeto Modulo

public class Modulo{
  private Integer idModulo;
  private String descripcion;
  /*Color.parseColor("#80258CFF"), R.mipmap.web*/
  private String color; //El valor del color
  private String ruta; //El valor que asignas al mipmap
}

Cuando inicies sesión y tu objeto de usuario llevará el listado de lo permitido, sólo te toca recorrer e ir asignando

...
circleMenu.addSubMenu(valores de la lista);
...

Es la idea que puedo darte con la poca información que nos das

0voto

Jair19 comentado

gracias @Th3Mik3s por la aportación.

0voto

Jair19 comentado

if (response.getInt(KEY_STATUS) == 0 ){ 
  session.loginUser(
    username,
    response.getString(KEY_FULL_NAME),
   ** response.getString(KEY_TipoUsuario));**
  loadDashboard();
}

en esta parte me manda un error y no se si tendras una idea para el menu mi codigo del menu esta al inicio de mi pregunta por favor @Th3Mik3s

0voto

Peter comentado

Si se soluciono el login con privilegios por favor selecciona la respuesta como correcta y para dudas nuevas, abre preguntas nuevas.

Saludos.

1voto

Th3Mik3s comentado

Saludos

 ** response.getString(KEY_TIPOUSUARIO));**

Copie y pegué, olvidé poner mayúsculas...

No sé como vayas a hacer la persistencia de datos dentro de la aplicación, aquí hay mucha información, cuando tengas el código nos avisas para seguir apoyándote.

0voto

Jair19 comentado

@Th3Mik3s dejo link de proyecto para que me puedas apoyar esta abierto para que puedan aportar.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta