Inicio » Cursos » App para Pizzería con delivery

Empezando el Proyecto

Panel de Administración

FrontEnd Diseño

Carrito de Compra

API Rest

Diseño de la App Android

Autenticación Android

Catálogo de Productos

Carrito de Compra Android

Extras

Curso App para Pizzería con delivery

Lección: 32 ➜ SessionManager

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

Lección 32: SessionManager

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);
        }
    }

 

 


230 visitas

Descarga el código del proyecto

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

Descargar ahora

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