Session Management in Android Studio

Following are easy steps to make a session manager in android studio

(1) Step – 1 : Create a Java class and name is as SessionManager.java

public class SessionManager {

SharedPreferences pref;

SharedPreferences.Editor editor;

Context _context;

int Private_mode = 0;

private static final String PREF_NAME = "AndroidHivePref";

private static final String IS_LOGIN = "IsLoggedIn";

public static final String KEY_EMAIL = "email";

public static final String KEY_PASSWORD = "password";


public SessionManager (Context context){
    this._context = context;
    pref = _context.getSharedPreferences(PREF_NAME, Private_mode);
    editor = pref.edit();
}

public void createLoginSession(String email, String password){
    editor.putBoolean(IS_LOGIN,true);

    editor.putString(KEY_EMAIL, email);

    editor.putString(KEY_PASSWORD, password);

    editor.commit();
}

public boolean isLoggedIn(){
    return pref.getBoolean(IS_LOGIN, false);
}

public void checkLogin(){
    if(!this.isLoggedIn()){
        Intent i = new Intent(_context, LoginActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        _context.startActivity(i);
    }
}

public HashMap<String , String> getUserDetails(){
    HashMap<String, String> user = new HashMap<String, String>();

    user.put(KEY_EMAIL, pref.getString(KEY_EMAIL,null));

    user.put(KEY_PASSWORD, pref.getString(KEY_PASSWORD,null));

    return user;
}

public void logoutUser(){
    editor.clear();
    editor.commit();

    Intent i = new Intent(_context, LoginActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    _context.startActivity(i);
}
}

(2) Step – 2 : Add following in the MainActivity.java’s on create method.

SessionManager sessionManager;

sessionManager = new SessionManager(getApplicationContext());
sessionManager.checkLogin();

(3) Step – 3 : Add following in the LoginActivity.java where user credentials are checked and return true.

sessionManager.createLoginSession(email.getText(),password.getText());

(4) Step – 4 : Add following in the LoginActivity.java’s on Create method.

SessionManager sessionManager;

sessionManager = new SessionManager(getApplicationContext());

(5) Step – 5 : Check the full tutorial video.

Leave a comment