Shared Preferences
sont des fichiers XML pour stocker des données primitives privées dans des paires clé-valeur. Les types de données incluent les booléens , les flottants , les entiers , les longs et les chaînes .
Lorsque nous voulons enregistrer des données accessibles dans toute l'application, une façon de le faire est de les enregistrer dans une variable globale. Mais il disparaîtra une fois l'application fermée. Une autre façon recommandée est d'enregistrer SharedPreference
. Les données enregistrées dans le fichier SharedPreferences sont accessibles dans toute l'application et persistent même après la fermeture de l'application ou lors des redémarrages.
SharedPreferences enregistre les données par paire clé-valeur et est accessible de la même manière.
Vous pouvez créer un objet en SharedPreferences
utilisant deux méthodes,
1). getSharedPreferences () : En utilisant ces méthodes, vous pouvez créer plusieurs SharedPreferences.et ses premiers paramètres au nom de SharedPreferences
.
2). getPreferences () : En utilisant cette méthode, vous pouvez créer Single SharedPreferences
.
Stocker des données
Ajouter une déclaration de variable / créer un fichier de préférences
public static final String PREFERENCES_FILE_NAME = "MyAppPreferences";
Récupérer un handle vers le nom de fichier (en utilisant getSharedPreferences)
SharedPreferences settingsfile= getSharedPreferences(PREFERENCES_FILE_NAME,0);
Ouvrir l'éditeur et ajouter des paires clé-valeur
SharedPreferences.Editor myeditor = settingsfile.edit();
myeditor.putBoolean("IITAMIYO", true);
myeditor.putFloat("VOLUME", 0.7)
myeditor.putInt("BORDER", 2)
myeditor.putLong("SIZE", 12345678910L)
myeditor.putString("Name", "Amiyo")
myeditor.apply();
N'oubliez pas d'appliquer / enregistrer en utilisant myeditor.apply()
comme indiqué ci-dessus.
Récupération des données
SharedPreferences mysettings= getSharedPreferences(PREFERENCES_FILE_NAME, 0);
IITAMIYO = mysettings.getBoolean("IITAMIYO", false);
//returns value for the given key.
//second parameter gives the default value if no user preference found
// (set to false in above case)
VOLUME = mysettings.getFloat("VOLUME", 0.5)
//0.5 being the default value if no volume preferences found
// and similarly there are get methods for other data types