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.