Thursday, December 18, 2014


How To Create Session In Android

SessionManager.java

import java.util.HashMap;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class SessionManager {
    // Shared Preferences
    SharedPreferences pref;
   
    // Editor for Shared preferences
    Editor editor;
   
    // Context
    Context _context;
   
    // Shared pref mode
    int PRIVATE_MODE = 0;
   
    // Sharedpref file name
    private static final String PREF_NAME = "AndroidHivePref";
   
    // All Shared Preferences Keys
    private static final String IS_LOGIN = "IsLoggedIn";
   
    // User name (make variable public to access from outside)
    public static final String KEY_NAME = "name";
   
    // Email address (make variable public to access from outside)
    public static final String KEY_EMAIL = "email";
   
    // Constructor
    public SessionManager(Context context){
        this._context = context;
        pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
        editor = pref.edit();
    }
   
    /**
     * Create login session
     * */
    public void createLoginSession(String name, String email){
        // Storing login value as TRUE
        editor.putBoolean(IS_LOGIN, true);
       
        // Storing name in pref
        editor.putString(KEY_NAME, name);
       
        // Storing email in pref
        editor.putString(KEY_EMAIL, email);
       
        // commit changes
        editor.commit();
    }   

    /**
     * Get stored session data
     * */
    public HashMap<String, String> getUserDetails(){
        HashMap<String, String> user = new HashMap<String, String>();
        // user name
        user.put(KEY_NAME, pref.getString(KEY_NAME, null));
       
        // user email id
        user.put(KEY_EMAIL, pref.getString(KEY_EMAIL, null));
       
        // return user
        return user;
    }
   
    /**
     * Clear session details
     * */
    public void logoutUser(){
        // Clearing all data from Shared Preferences
        editor.clear();
        editor.commit();

    }
   
    /**
     * Quick check for login
     * **/
    // Get Login State
    public boolean isLoggedIn(){
        return pref.getBoolean(IS_LOGIN, false);
    }
}

How to Create Session....

01) create session object :-

SessionManager session;

02) session = new SessionManager(getApplicationContext());

03) session.createLoginSession("username","admin" );

How To Access Session Values:- 

01) create session object :-

 SessionManager session;

02)  session = new SessionManager(getApplicationContext());

03) HashMap<String, String> user = session.getUserDetails();

04) username =user.get(SessionManager.KEY_NAME);