-3

How to create login session using sharedPreferences?

Login email and password stored in hostinger host database.

Login session means checking user logged in or not. If not go to login page else goto activity page.

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245

3 Answers3

0

Best practice is to generate a token after successful login from the server side and store that token in SharedPreferences. Every time user makes a new call to the server/API, include the token in headers and verify whether the token is valid/ has not expired.

To put value in Shared Preferences

SharedPreferences prefs = context.getSharedPreferences("NAME", FLAG);
prefs.putString(key, value);
prefs.commit();

To get value from Shared Preferences

prefs.getString(key, "defaultValue");
Geet Choubey
  • 1,069
  • 7
  • 23
0

After Successful login and before starting next activity add:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
 SharedPreferences.Editor editor = preferences.edit();
 editor.putBoolean("isLogin",true);
 editor.commit();

and than start next activity. Now on all other activities except LoginActivity in onResume method add:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
if(!preferences .getBoolean("isLogin"))
{
   //TODO go to loginActivity
}
//else continue

Thats it.

Mehran Zamani
  • 831
  • 9
  • 31
0

Try this,

If user login then save his user id into SharedPreferences

    SharedPreferences preferences = getSharedPreferences("AppPrefs", MODE_PRIVATE);
    SharedPreferences.Editor PrefsEditor = preferences.edit();

    int user_id=101;
    //set value
    PrefsEditor.putInt("USERID", "user_id");

In splash screen check:

    //get value
    int user_id=preferences.getInt("USERID", -1);   

     if (user_id == -1) {
        Intent intent = new Intent(mContext, LoginActivity.class);
        startActivity(intent);
        finish();
    } else {
        Intent intent = new Intent(mContext, HomeActivity.class);
        startActivity(intent);
        finish();
    }
Komal12
  • 3,340
  • 4
  • 16
  • 25