android partagé préférences exemple pour des scores élevés?
Hi
Je me demandais est-il un exemple simple de mise en œuvre d'un haut score de la liste de l'utilisation partagée des préférences? ie pré-déterminé des scores élevés au début et ensuite mettre à jour la liste dependingt sur le score d'un utilisateur?
OriginalL'auteur user560571 | 2011-03-21
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser les préférences le problème est que vous ne pouvez pas vraiment de stocker une liste ou quelque chose comme ça. Partagé préférences prend uniquement en charge boolean, float, int, String, long et Réglez-le.
Votre meilleur choix est l'Ensemble. De là, vous pouvez convertir chaque valeur de votre meilleur score pour une chaîne de caractères, l'ajouter à un Ensemble et ensuite le stocker cet ensemble dans la mise en commun des préférences.
Lors du démarrage de votre application, vous pouvez récupérer l'ensemble, convertir les Chaînes de caractères de retour à ints ou ce que vous utilisez pour représenter le score.
Voir, par exemple, cette méthode:
http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#putStringSet(java.lang.String, java.util.Set)
MODIFIER
Comme MisterSqounk souligné, le Jeu n'est disponible que depuis l'API de Niveau 11. Si vous êtes à la codification ci-dessous, je vous propose de stocker les valeurs directement comme ints à l'aide des touches comme par exemple highscore1, highscore2, ... Lors de la récupération de la meilleurs scores valeurs que vous pourriez itération sur toutes les touches et l'utilisation de SharedPreferences#contient(String key) pour vérifier si une valeur est disponible.
Thnaks. Qui rend la solution plus complicaed. Mais l'OP n'a pas mentionné un niveau API. Mais j'ai édité la réponse de sorte qu'il fonctionne pour toutes les API niveaux.
Si la liste est statique, alors vous pouvez utiliser un
ListPreference
type d'élément dans votre écran des préférences à cet effet - ce que vous venez d'enregistrer la position de l'élément sélectionné. Vous pouvez aussi utiliser des listes dynamiques, simplement pour stocker l'ID de l'élément sélectionné dans vos préférences et de votre liste dans une base de données.Earl je n'étais pas en mesure de trouver votre ListPreference dans l'API. Pourriez-vous fournir un lien?
Assurez-vous: developer.android.com/reference/android/preference/...
OriginalL'auteur RoflcoptrException
Il y a quelque temps, j'ai mis en place une bibliothèque à utiliser MEMDISKCACHE & SHAREDPREF comme GENERIC_STORE
Vous pouvez même stocker/récupérer la Sérialisation des objets java.
E. g. pour répondre à vos req, il suffit de créer un personnalisé Serializable objet Java, alors vous êtes prêt à aller.
Que j'utilise dans mes applications déjà (même pour les massifs facebook photo de données),
fonctionne très bien et qui agit comme une couche d'abstraction.
ici est la source, si quelqu'un est intéressé.
https://github.com/wareninja/generic-store-for-android
OriginalL'auteur guleryuz
Si vous êtes toujours à la recherche d'une solution, Essaim de Classements système ressemble à un bon match. Offre une solution simple pour ajouter personnalisable classements de jeux, et il est assez facile de travailler avec.
OriginalL'auteur impact