2017-07-18 4 views
-1

J'ai vu la plupart des exemples d'applications hors ligne, mais que dois-je faire si ma réponse vient de PHP API? Fondamentalement, mon application se connecte et donne une demande à une API, et j'obtiens une réponse. Supposons que je reçois une réponse par e-mail et un jeton. Alors, comment dois-je l'utiliser dans la gestion de session? afin que l'utilisateur ne doit pas se connecter tout le temps quand il quitte l'application.Dans android, comment sauvegarder la réponse provenant du script de connexion php en tant que préférence partagée?

+0

vous pouvez utiliser des préfixes partagées pour enregistrer le courrier électronique et le jeton. Si vous voulez savoir comment faire, recherchez dans Google que vous trouvez ce dont vous avez besoin. –

+0

Avez-vous déjà le corps de la réponse en tant qu'objet String? – Roran

+0

@Roran oui je prends la réponse et la stocke dans les variables de chaîne, en fait je l'utilise dans l'écran de bienvenue, mais ce que je veux, c'est utiliser ces réponses dans le maintien de la session. – Robin10

Répondre

0

vous pouvez stocker du courrier et le jeton dans préfrence partagé comme celui-ci

lorsque les données de magasin de connexion succefully utilisateur dans sharedpreferences comme celui-ci

public static final String MyPREFERENCES = "MyPrefs" ; 
public static final String email = "email"; 
public static final String token = "token"; 
public static final boolean isLogin = "islogin"; 

SharedPreferences sharedpreferences; 
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

// store login data in sharedpreferences 
SharedPreferences.Editor editor = sharedpreferences.edit(); 
editor.putString(email, "[email protected]"); 
editor.putString(token, "123456789"); 
editor.putBoolean(isLogin, true); 
editor.commit(); //save data in sharedpreferences 

maintenant lorsque votre démarrage de l'application de vérifier que l'utilisateur est de se connecter ou pas comme ceci

public static final String MyPREFERENCES = "MyPrefs" ; 
SharedPreferences sharedpreferences; 
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 


// get boolean from sharedprefrence 
public static final boolean isLogin = "islogin"; 
boolean login = prefs.getBoolean(isLogin, false); 

// check login status 
if(login){ 
    // user session available move to home screen 
}else{ 
// user does not login move to login screen 
} 
+0

Merci, je vais essayer ça. :) – Robin10

+0

et pour le bouton de déconnexion je dois effacer et valider l'éditeur et passer à l'activité de connexion à nouveau non? – Robin10

+0

et btw puis-je mettre la variable de chaîne dans la partie de la valeur comme editor.putString (email, email); ? plutôt que de donner directement la valeur que [email protected] que vous avez donné? becoz mes valeurs vont changer selon les utilisateurs (c'est assez évident). – Robin10