import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Mise à jour
Selon les préférences partagées | Tutoriel pour les développeurs Android (partie 13) par Sai Geetha MN,
De nombreuses applications peuvent fournir un moyen de capturer les préférences des utilisateurs sur les paramètres d'une application ou d'une activité spécifique. Pour prendre en charge cela, Android fournit un ensemble simple d'API.
Les préférences sont généralement des paires nom / valeur. Ils peuvent être stockés en tant que «Préférences partagées» dans diverses activités d'une application (notez qu'il ne peut actuellement pas être partagé entre les processus). Ou cela peut être quelque chose qui doit être stocké spécifiquement pour une activité.
Préférences partagées: Les préférences partagées peuvent être utilisées par tous les composants (activités, services, etc.) des applications.
Préférences gérées par l'activité: ces préférences ne peuvent être utilisées que dans l'activité particulière et ne peuvent pas être utilisées par d'autres composants de l'application.
Préférences partagées:
Les préférences partagées sont gérées à l'aide de la getSharedPreferences
méthode de la Context
classe. Les préférences sont stockées dans un fichier par défaut (1) ou vous pouvez spécifier un nom de fichier (2) à utiliser pour faire référence aux préférences.
(1) La méthode recommandée consiste à utiliser le mode par défaut, sans spécifier le nom du fichier
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Voici comment obtenir l'instance lorsque vous spécifiez le nom du fichier
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
est le mode de fonctionnement des préférences. Il s'agit du mode par défaut et signifie que le fichier créé sera accessible uniquement par l'application appelante. Les deux autres modes pris en charge sont MODE_WORLD_READABLE
et MODE_WORLD_WRITEABLE
. Dans une MODE_WORLD_READABLE
autre application, vous pouvez lire le fichier créé mais ne pouvez pas le modifier. Dans le cas d' MODE_WORLD_WRITEABLE
autres applications, vous disposez également d'autorisations d'écriture pour le fichier créé.
Enfin, une fois que vous avez l'instance de préférences, voici comment vous pouvez récupérer les valeurs stockées à partir des préférences:
int storedPreference = preferences.getInt("storedInt", 0);
Pour stocker des valeurs dans le fichier de préférences, l' SharedPreference.Editor
objet doit être utilisé. Editor
est une interface imbriquée dans la SharedPreference
classe.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
L'éditeur prend également en charge des méthodes telles que remove()
et clear()
pour supprimer les valeurs de préférence du fichier.
Préférences d'activité:
Les préférences partagées peuvent être utilisées par d'autres composants d'application. Mais si vous n'avez pas besoin de partager les préférences avec d'autres composants et que vous souhaitez avoir des préférences privées d'activité, vous pouvez le faire à l'aide de la getPreferences()
méthode de l'activité. La getPreference
méthode utilise la getSharedPreferences()
méthode avec le nom de la classe d'activité pour le nom du fichier de préférences.
Voici le code pour obtenir les préférences
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Le code pour stocker les valeurs est également le même qu'en cas de préférences partagées.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Vous pouvez également utiliser d'autres méthodes comme le stockage de l'état d'activité dans la base de données. Remarque Android contient également un package appelé android.preference
. Le package définit des classes pour implémenter l'interface utilisateur des préférences d'application.
Pour voir d'autres exemples, consultez le post de stockage de données d'Android sur le site des développeurs.