0

Salut Je développe une application android dans lequel si l'utilisateur ouvre l'application pour la première fois (juste installé), il obtient les termes et conditions s'il accepte qu'il obtient l'écran d'enregistrement si il enregistre, il se l'écran de connexionpréférences Partage entre les classes dans Android

si l'utilisateur quitte après écran termes, encore une fois si l'application est lancée, il devrait obtenir que l'écran d'enregistrement, mais pas les termes écran

je besoin de deux variables globales booléens qui peut être accès par toutes les classes dans l'application J'ai essayé shar edpreferences mais je ne suis pas capable de les partager entre classes Quelqu'un s'il vous plaît jeter un peu de lumière.

Merci.

+0

Oui préférence partagée est l'option correcte à partager parmi les activités dans android, avez-vous défini la valeur dans sharedpreference au moment où l'utilisateur accepte les termes et conditions? – Zoombie

+0

J'ai défini sharedpreference dans main.java où je vérifie si les termes sont acceptés ou non. Sinon, il va à l'écran terms.java. Si l'utilisateur clique dessus, je suis en train d'éditer les préférences partagées mais terms.java montre l'erreur :(tat prefs ne quitte pas – 8A52

+0

ok, mets les checkpoints maintenant, vérifie d'abord dans quel mode tu ouvres? Second, objet etSharedpreference avant de l'utiliser. valeur dans sharedpreference commet ... je pense que cela devrait vous aider – Zoombie

Répondre

2

Vous pouvez récupérer les préférences en utilisant le baseContext:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 

à l'intérieur de toute activité/service/récepteur dans votre projet, et vous devriez obtenir les mêmes préférences: toutes les modifications apportées dans une classe sera disponible à toutes les autres classes.

+0

Merci beaucoup cela a fonctionné :-) – 8A52

0

récupérer une préférence partagée:

mode int = Activity.Activity.MODE_APPEND

SharedPreferences sp = getSharedPreferences(MYPREFS,mode); 

// Récupérer les valeurs enregistrées.

termPref = sp.getString ("terms", "");

0

Vous pouvez récupérer SharedPreferences dans n'importe quelle classe en transmettant le contexte. Voir l'exemple suivant.

La valeur par défaut est SharedPreferences SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences (getBaseContext());

Obtenez votre SharedPreferences avec getSharedPreferences ("SharedPreferences_FileName", Context.MODE_PRIVATE) nom personnalisé

SharedPreferences prefs = getApplicationContext().

Questions connexes