Aller au contenu

Sauver une liste de classes dans une sharedpreference?


Recommended Posts

Salut.

Je me suis dans mon app, créé une liste d'éléments qui sont une certaine classe.

private ArrayList ma_liste

Est-il possible de sauvegarder celle liste dans des sharedpreference, comme je le fais facilement avec un String ou un array?

Merci car je coince vraiment là!

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Non SharedPreference ne permet d'enregistrer que des objets élémentaires (int, boolean, String, etc.). Une technique consiste enregistrer tes objets sous la forme d'une String :

Si tu as deux instances A et B avec deux attribut entier a, b de la classe "MaClasse" dans ta liste, tu peux enregistrer un truc du genre : A.a,A.b/B.a,B.b.

Lorsqu'il s'agit de récupérer les valeurs il te suffit de parser la chaine de caractère ... c'est pas une super méthode mais ça peut te sauver.

Si c'est vraiment plus poussé, tu vas devoir te rabattre sur une base de donnée SQLite.

Lien vers le commentaire
Partager sur d’autres sites

en théorie c'est mort vuqe que les sharedprefs prennent des types "primaires"....

http://developer.android.com/reference/android/content/SharedPreferences.html

Et il faut savoir que les prefs sont un fichier xml...donc pas fait pour y mettre tout et n'importe quoi.

Bon en théorie si ta classe est serializable elle rentre dans un XML... donc passe par une sauvegarde perso.

edit : zut grillé par cyril....mais sinon oui dans KeepScreen je fais ça pour la liste d'applis...une chaine ou chaque appli est séparée par des [@].....(oui crade mais rapide et sans prise de tête)

Modifié par popolbx
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...