Je souhaite stocker une valeur de temps et dois la récupérer et la modifier. Comment puis-je m'en servir SharedPreferences
?
android
sharedpreferences
Muhammad Maqsoodur Rehman
la source
la source
Réponses:
Pour obtenir des préférences partagées, utilisez la méthode suivante dans votre activité:
Pour lire les préférences:
Pour modifier et enregistrer les préférences
L'exemple de répertoire du sdk android contient un exemple de récupération et de stockage des préférences partagées. Il est situé dans:
Modifier ==>
J'ai remarqué qu'il est important d'écrire également la différence entre
commit()
etapply()
ici.commit()
retournertrue
si la valeur a bien été enregistrée sinonfalse
. Il enregistre les valeurs dans SharedPreferences de manière synchrone .apply()
a été ajouté en 2.3 et ne renvoie aucune valeur en cas de succès ou d'échec. Il enregistre immédiatement les valeurs dans SharedPreferences mais démarre une validation asynchrone . Plus de détails ici .la source
this.getSharedPreferences
me donne l'erreur suivante:The method getSharedPreferences(String, int) is undefined for the type MyActivity
Pour stocker des valeurs dans des préférences partagées:
Pour récupérer des valeurs à partir des préférences partagées:
la source
Map<DateTime, Integer>
?Pour modifier des données de
sharedpreference
Pour récupérer des données de
sharedpreference
Éditer
J'ai pris cet extrait de l'exemple de démonstration de l'API. Il y avait une
EditText
boîte là-bas. En cela,context
ce n'est pas obligatoire. Je fais le même commentaire.la source
Écrire :
Lire :
la source
Manière la plus simple:
Sauver:
À récupérer:
la source
Définition des valeurs dans Préférence:
Récupérez les données de préférence:
Plus d'informations:
Utilisation des préférences partagées
Préférences partagées
la source
Classe de préférences partagées singleton. cela peut aider d'autres à l'avenir.
Il suffit d' appeler
SharedPref.init()
surMainActivity
une foisPour écrire des données
Pour lire les données
la source
Pour stocker des informations
Pour réinitialiser vos préférences
la source
Si vous créez une grande application avec d'autres développeurs de votre équipe et que vous avez l'intention de tout organiser correctement sans code dispersé ou différentes instances de SharedPreferences, vous pouvez faire quelque chose comme ceci:
Dans votre activité, vous pouvez enregistrer les préférences partagées de cette façon
et vous pouvez récupérer vos SharedPreferences de cette façon
la source
Dans toute application, il existe des préférences par défaut accessibles via l'
PreferenceManager
instance et sa méthode associéegetDefaultSharedPreferences(Context)
.Avec l'
SharedPreference
instance, on peut récupérer la valeur int de la préférence any avec getInt (String key, int defVal) . La préférence qui nous intéresse dans ce cas est contre.Dans notre cas, nous pouvons modifier l'
SharedPreference
instance dans notre cas en utilisant le edit () et utiliser leputInt(String key, int newVal)
Nous avons augmenté le nombre de notre application qui persiste au-delà de l'application et affiché en conséquence.Pour poursuivre la démonstration, redémarrez et votre application à nouveau, vous remarquerez que le nombre augmentera à chaque redémarrage de l'application.
PreferencesDemo.java
Code:
main.xml
Code:
la source
Solution simple pour stocker la valeur de connexion dans par
SharedPreferences
.Vous pouvez étendre la
MainActivity
classe ou une autre classe où vous stockerez la "valeur de quelque chose que vous souhaitez conserver". Mettez cela dans les classes d'écrivain et de lecteur:Voici respectivement la classe d'
InputClass
entrée etOutputClass
la classe de sortie.Vous pouvez maintenant l'utiliser ailleurs, comme une autre classe. Ce qui suit est
OutputClass
.la source
Stocker dans SharedPreferences
Récupérer dans SharedPreferences
Remarque: "temp" est le nom des préférences partagées et "name" est la valeur d'entrée. si la valeur ne sort pas, retourne null
la source
Éditer
Lis
la source
L'idée de base de SharedPreferences est de stocker des choses sur un fichier XML.
Déclarez le chemin de votre fichier xml. (Si vous n'avez pas ce fichier, Android le créera. Si vous avez ce fichier, Android y accédera.)
Écrire la valeur dans les préférences partagées
l'
preference_file_key
est le nom des fichiers de préférences partagées. Et1010101
c'est la valeur que vous devez stocker.apply()
est enfin de sauvegarder les modifications. Si vous obtenez une erreurapply()
, remplacez-la parcommit()
. Donc, cette phrase alternative estLire à partir des préférences partagées
lsp
sera-1
sipreference_file_key
n'a aucune valeur. Si 'preference_file_key' a une valeur, il retournera la valeur de this.Tout le code d'écriture est
Le code de lecture est
la source
Vous pouvez économiser de la valeur en utilisant cette méthode:
Et en utilisant cette méthode, vous pouvez obtenir de la valeur de SharedPreferences:
Voici
prefKey
la clé que vous avez utilisée pour enregistrer la valeur spécifique. Merci.la source
Ici,
mSaved
peut être n'importe lequelTextView
ouEditText
d'où nous pouvons extraire une chaîne. vous pouvez simplement spécifier une chaîne. Ici, le texte sera la clé qui contient la valeur obtenue à partir dumSaved
(TextView
ouEditText
).De plus, il n'est pas nécessaire d'enregistrer le fichier de préférences en utilisant le nom du package, c'est-à-dire "com.example.app". Vous pouvez mentionner votre propre nom préféré. J'espère que cela t'aides !
la source
Il existe plusieurs façons de recommander l'utilisation de SharedPreferences . J'ai fait un projet de démonstration ici . Le point clé de l'exemple est d'utiliser ApplicationContext et un seul objet sharedpreferences . Cela montre comment utiliser SharedPreferences avec les fonctionnalités suivantes: -
Exemple d'utilisation comme ci-dessous: -
Obtenez le code source ici et les API détaillées peuvent être trouvées ici sur developer.android.com
la source
Les meilleures pratiques de tous les temps
Créer une interface nommée avec PreferenceManager :
Comment utiliser avec l' activité / le fragment :
Remarque: Remplacez votre clé de SharedPreference par SP_TITLE .
Exemples:
Enregistrer la chaîne dans shareperence :
Obtenir une chaîne de shareperence :
J'espère que cela vous aidera.
la source
Pour stocker des valeurs dans des préférences partagées:
Pour récupérer des valeurs à partir des préférences partagées:
la source
sauver
récupérer:
la source
J'écris une classe d'aide pour les préférences partagées:
la source
Utilisez cet exemple simple et clair et vérifié
la source
En utilisant cette bibliothèque simple , voici comment effectuer les appels à SharedPreferences.
la source
Je voulais ajouter ici que la plupart des extraits de cette question auront quelque chose comme MODE_PRIVATE lors de l'utilisation de SharedPreferences. Eh bien, MODE_PRIVATE signifie que tout ce que vous écrivez dans cette préférence partagée ne peut être lu que par votre application.
Quelle que soit la clé que vous transmettez à la méthode getSharedPreferences (), Android crée un fichier avec ce nom et y stocke les données de préférence. Souvenez-vous également que getSharedPreferences () est censé être utilisé lorsque vous avez l'intention d'avoir plusieurs fichiers de préférences pour votre application. Si vous avez l'intention d'utiliser un seul fichier de préférences et d'y stocker toutes les paires clé-valeur, utilisez la méthode getSharedPreference (). C'est bizarre pourquoi tout le monde (y compris moi-même) utilise simplement la saveur getSharedPreferences () sans même comprendre la différence entre les deux ci-dessus.
Le didacticiel vidéo suivant devrait aider https://www.youtube.com/watch?v=2PcAQ1NBy98
la source
Simple et sans tracas :: bibliothèque "Android-SharedPreferences-Helper"
Mieux vaut tard que jamais: j'ai créé la bibliothèque "Android-SharedPreferences-Helper" pour aider à réduire la complexité et l'effort d'utilisation
SharedPreferences
. Il fournit également des fonctionnalités étendues. Peu de choses qu'il offre sont les suivantes:Assez simple! Contrairement à la méthode par défaut (lors de l'utilisation de la classe SharedPreferences), vous n'aurez PAS besoin d'appeler
.edit()
et.commit()
jamais de temps.C'est ça! Vos valeurs sont stockées dans les préférences partagées.
Encore une fois, un seul appel de méthode simple avec le nom de la clé.
Vérifiez les détails des fonctionnalités étendues, les instructions d'utilisation et d'installation, etc. sur la page du référentiel GitHub .
la source
vous devez utiliser SharedPreferences dans AdapterClass ou tout autre. cette fois, utilisez cette déclaration et utilisez le même cul ci-dessus.
pour chaîne ou valeur booléenne
récupérer les données comme ci-dessus
la source
2. pour le stockage en préférence partagée
2. pour récupérer la même utilisation
la source
Ici, j'ai créé une classe Helper pour utiliser les préférences dans Android.
Voici la classe d'assistance:
la source
Pour stocker et récupérer des variables globales de manière fonctionnelle. Pour tester, assurez-vous d'avoir des éléments Textview sur votre page, décommentez les deux lignes dans le code et exécutez. Puis commentez à nouveau les deux lignes et exécutez.
Ici, l'ID de TextView est nom d'utilisateur et mot de passe.
Dans chaque classe où vous souhaitez l'utiliser, ajoutez ces deux routines à la fin. J'aimerais que cette routine soit globale, mais je ne sais pas comment. Cela marche.
Les variabels sont disponibles partout. Il stocke les variables dans "MyFile". Vous pouvez le changer à votre façon.
Vous l'appelez en utilisant
le nom d'utilisateur variable sera rempli avec "frans" et le mot de passe avec "! 2 # 4%". Même après un redémarrage, ils sont disponibles.
et vous le récupérez en utilisant
en dessous de tout le code de ma grille.java
ci-dessous vous trouverez les éléments textview
la source
J'ai créé une classe d'aide pour rendre ma vie facile. Il s'agit d'une classe générique et de nombreuses méthodes couramment utilisées dans des applications telles que les préférences partagées, la validité des e-mails, le format de la date et de l'heure. Copiez cette classe dans votre code et accédez à ses méthodes partout où vous en avez besoin.
la source