Inicio » Cursos » App para Pizzería con delivery

Curso App para Pizzería con delivery

Capitulo 32 ➜ SessionManager

SessionManager

¿Cómo implementar un SessionManager en una App Android?

Para programar un SessionManager en Android usamos la clase SharedPreferences con métodos para crear una Sesión, destruirla y/o mostrar información

En esta clase vamos a ver ¿Cómo implementar un SessionManager (Administrador de Sessiones) en una aplicación Android?

Para programar un SessionManager en Android usamos la clase SharedPreferences con métodos  para crear una Sesión, destruirla y/o mostrar información 

Creamos la clase SessionManager

Ademas declaramos algunas variables de configuración para las preferencias donde destacamos 

  1. is_login : Key que almacena si el usuarios esta logueado o no con un valor boleano
  2. user_id: Esta key almacena el id del usuarios autenticado.
  3. access_token: Key guarda el token generado en la Api Rest - Laravel

 

public class SessionManager {
    private Context _context;
    private SharedPreferences _preference;
    private SharedPreferences.Editor _editor;
    private static final String KEY_IS_LOGIN = "is_login"; // boolean
    private static final String KEY_USER_ID = "user_id"; // int
    private static final String KEY_ACCESS_TOKEN = "access_token"; //string

}

 

El constructor SessionManager()

Asignamos la configuración para trabajar con sharedpreferences en Android.

public SessionManager(Context context) {
        this._context = context;
        this._preference = _context.getSharedPreferences("CREDENCIALES",Context.MODE_PRIVATE);
        this._editor = _preference.edit();
    }

 

El método createSession()

Método que crea una sesión de usuario almacenando sus datos, finalmente llamamos al método que evalua a que actividad redirigir al usuario.

public void createSession(int user_id,String access_token){
        _editor.putBoolean(KEY_IS_LOGIN,true);
        _editor.putInt(KEY_USER_ID,user_id);
        _editor.putString(KEY_ACCESS_TOKEN, access_token);
        _editor.commit();
        checkLogin();
    }

 

El método destroySession()

Este método simplemente limpia y destruye los valores de las keys, luego llama al método checkLogin() para redirigir al usuario a la actividad principal MainActivity

 public void destroySession(){
        _editor.clear();
        _editor.commit();
        checkLogin();
    }

 

El método isLogin()

Método que retorna el valor de la llave islogin caso contrario le asigna el valor false.

public boolean isLogin(){        
        return _preference.getBoolean(KEY_IS_LOGIN,false);
    }

 

El método checkLogin()

Aqui simplemente evalua el método isLogin() si es verdad  crea un intent hacia StoreActivity caso contrario lanza la actividad MainActividad, en cualquiera de  los dos casos destruye las actividades anteriores.

public void checkLogin(){
        if(!this.isLogin()){
            Intent i = new Intent(_context, MainActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            _context.startActivity(i);
        }else{
            Intent i = new Intent(_context, StoreActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            _context.startActivity(i);
        }
    }

 

 


363 visitas

Sigue con el curso: Capítulo 33 – MainActivity

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023