comment sauvegarder et récupérer des données dans la même activité avec SharedPreferences dans Android
-
29-09-2019 - |
Question
Je suis nouveau à la plate-forme Android. S'il vous plaît résoudre ma requête « comment sauvegarder et récupérer des données dans la même activité avec SharedPreferences dans Android »
La solution
De nombreuses applications peuvent fournir un moyen de préférences de capture d'utilisateur sur les paramètres d'une application spécifique ou une activité. Pour supporter cela, Android fournit un ensemble simple d'API.
Préférences sont le nom typiquement des paires de valeurs. Ils peuvent être stockés en tant que « Préférences partagées » à travers diverses activités dans une application (note actuellement il ne peut pas être partagée entre les processus). Ou il peut être quelque chose qui doit être stocké spécifique à une activité.
-
Préférences partagées. Les préférences partagées peuvent être utilisées par toutes les composantes (activités, services, etc.) au large des applications
-
Activité préférences traitées. Ces préférences ne peuvent être utilisés avec l'activité et ne peuvent pas être utilisés 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 méthode de getSharedPreferences
de la classe Context
. 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 désigner les préférences.
(1) Voici comment vous obtenez l'instance lorsque vous spécifiez le nom de fichier
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
est le mode de fonctionnement pour les préférences. Il est le mode par défaut et signifie que le fichier créé sera accessible seulement par l'application appelante. Deux autres sont pris en charge en mode MODE_WORLD_READABLE
et MODE_WORLD_WRITEABLE
. Dans une autre application MODE_WORLD_READABLE
peut lire le fichier créé, mais ne peut pas le modifier. En cas de MODE_WORLD_WRITEABLE
d'autres applications ont également des autorisations d'écriture pour le fichier créé.
(2) La méthode recommandée est d'utiliser le mode par défaut, sans spécifier le nom de fichier
SharedPreferences preferences = PreferencesManager.getDefaultSharedPreferences(context);
Enfin, une fois que vous avez l'instance de préférences, voici comment vous pouvez récupérer les valeurs stockées des préférences:
int storedPreference = preferences.getInt("storedInt", 0);
Pour Valeurs magasin dans le fichier de préférences objet SharedPreference.Editor
doit être utilisé. Editor
est l'interface imbriquée de la classe SharedPreference
.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor prennent également en charge des méthodes telles que remove()
et clear()
pour supprimer la valeur de préférence à partir du fichier.
Préférences d'activité:
Les préférences partagées peuvent être utilisées par d'autres composants de l'application. Mais si vous n'avez pas besoin de partager les préférences avec d'autres composants et que vous souhaitez avoir des activités préférences privées. Vous pouvez le faire avec l'aide de la méthode de getPreferences()
de l'activité. La méthode getPreference
utilise la méthode getSharedPreferences()
avec le nom de la classe d'activité pour le nom du fichier de préférence.
Voici le code pour obtenir les préférences
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Le code pour stocker des valeurs est identique dans le cas des 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 telles que le stockage de l'état d'activité dans la base de données. Remarque Android contient également un package appelé android.preference
. Le paquet définit les classes pour mettre en œuvre les préférences de l'application UI.
Pour voir d'autres exemples vérifier Android données poste de stockage sur le site des développeurs.
Autres conseils
Ce lien a tout: http://developer.android. com / guide / sujets / données / données storage.html
Fondamentalement, il est comme:
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
// Get one Setting
boolean silent = settings.getBoolean("silentMode", false);