Comment stocker de l'objet de classe dans android sharedPreference?
Je voudrais stocker objet de classe dans android sharedpreference. J'ai fait de la recherche de base sur ça, et j'ai obtenu quelques réponses comme faire la sérialisation de l'objet et de le stocker mais mon besoin est si simple. Je voudrais stocker des infos de l'utilisateur comme le nom, l'adresse, l'âge et la valeur booléenne est active. J'en ai fait une classe d'utilisateur.
public class User {
private String name;
private String address;
private int age;
private boolean isActive;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isActive() {
return isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
}
Grâce.
Pourquoi ne pas en faire sérialisable? C'est la bonne solution.
OriginalL'auteur | 2013-01-24
Vous devez vous connecter pour publier un commentaire.
Télécharger
gson-1.7.1.jar
à partir de ce lien: GsonLibJarAjouter cette bibliothèque pour votre projet android et configure build path.
Ajouter la classe suivante à votre forfait.
Créer une classe plus par l'extension de
Application
classe comme ceciAjouter que la classe d'application dans le manifeste du
application
balise comme ceci.Dans Votre Activité Principale où vous voulez stocker la valeur dans
Shared Preference
faire quelque chose comme cela.Dans une autre activité où vous voulez obtenir la valeur de
Preference
faire quelque chose comme cela.J'espère que cela peut vous aider. Dans cette réponse, j'ai utilisé votre classe pour la référence 'Utilisateur' afin que vous puissiez mieux comprendre. On ne peut cependant pas de relais sur cette méthode, si vous avez opté pour stocker des objets de très grande taille, de préférence comme nous le savons tous que nous avons limité la taille de la mémoire pour chaque application dans le répertoire de données de sorte que si vous êtes sûr que vous n'avez que très peu de données pour stocker partagée de la préférence que vous pouvez utiliser cette alternative.
Toutes les suggestions sur cette œuvre sont la plupart de bienvenue.
Vous pouvez configurer votre liste de tableaux à l'objet, mais assurez-vous que vous pouvez sérialiser votre objet contient dans arrayList. En outre, vous pouvez le faire parcelable et de passer directement à l'intention.
Merci beaucoup 🙂
Bonjour, votre réponse est le meilleur jusqu'à ce que je trouve, fonctionne comme un charme, juste j'ai besoin d'une modification, si l'utilisateur a été enregistré en une seule fois, puis il ne devrait pas afficher l'écran de connexion et il devrait montrer directement le mainactivity écran. Merci de m'aider à sortir de ce...
OriginalL'auteur
l'autre façon est d'enregistrer chaque propriété par lui-même..Préférences accepter uniquement les types primitifs, de sorte que vous ne pouvez pas mettre un Objet complexe en elle
OriginalL'auteur Tomislav Novoselec
Vous pouvez simplement ajouter un peu normal SharedPreferences "nom", "adresse", "age" & "est actif" et il suffit de les charger lors de l'instanciation de la classe
OriginalL'auteur Dhanesh Budhrani
Vous pouvez utiliser la classe globale
puis Recherchez votre balise application dans nadroid menifest, et ajouter ce :
et vous pouvez définir et d'obtenir les données à partir de votre activité en utilisant le code suivant.
OriginalL'auteur Priya
Solution Simple de la façon de stocker la valeur de l'identification par les SharedPreferences.
Vous pouvez étendre la MainActivity classe ou une autre classe où l'on va stocker la valeur de quelque chose que vous voulez garder". Mettre en écrivain et le lecteur de classes:
Ici InputClass est entrée et OutputClass est la classe de sortie, respectivement.
Maintenant, vous pouvez l'utiliser ailleurs, comme les autres de la classe. Ce qui suit est OutputClass.
OriginalL'auteur Zly-Zly