2017-03-08 4 views
-3

Comment créer une session de connexion à l'aide de sharedPreferences?Créer une session de connexion à l'aide de sharedPreferences

E-mail et mot de passe de connexion stockés dans la base de données hôte Hostinger.

La session de connexion signifie que l'utilisateur est connecté ou non. Si ce n'est pas le cas, allez à la page de connexion sinon allez à la page d'activité.

Répondre

0

La meilleure pratique consiste à générer un jeton après une connexion réussie du côté serveur et à stocker ce jeton dans SharedPreferences. Chaque fois qu'un utilisateur passe un nouvel appel au serveur/API, incluez le jeton dans les en-têtes et vérifiez si le jeton est valide/n'a pas expiré.

Pour mettre la valeur dans les préférences partagées

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

Pour obtenir la valeur de préférences partagées

prefs.getString(key, "defaultValue"); 
0

Après connexion et avant de commencer l'activité suivante ajouter:

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

et que début activité suivante maintenant sur toutes les autres activités, à l'exception LoginActivity dans la méthode onResume ajouter:

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

Thats it.

0

Essayez ceci,

Si la connexion de l'utilisateur puis enregistrez son nom d'utilisateur dans SharedPreferences

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

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

Dans l'enregistrement de l'écran d'accueil:

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