Question

J'ai développé un jeu sur Android. Je sauve actuellement la plupart des statistiques de jeu dans une base de données. Cependant, l'application n'utilise pas plus d'une seule ligne dans la DB. Je suis maintenant intéressé par l'introduction de nouvelles statistiques, mais cela entraînera mon DB à réinstaller et ainsi effacer les progrès de chacun. Afin d'éviter à l'avenir j'envisage de stocker les statistiques de jeu avec SharedPreferences au lieu. Ma question est combien de choses différentes peuvent être stockées de cette façon avant qu'il ne devienne un problème. Au total, je stockera environ 40 valeurs, tous les entiers.

Était-ce utile?

La solution

SharedPreferences sont écrits dans des fichiers XML, de sorte que la taille maximale d'un fichier sur Android est la taille d'un fichier XML SharedPreferences peut être. Je peux dire que 40 valeurs entières ne seront pas un problème.

La taille maximale d'une valeur dans un fichier SharedPreferences est limitée à la taille maximale de la valeur que vous essayez de stocker. (Ce qui signifie que vous ne pouvez pas mettre une valeur de chaîne qui est plus long que les chaînes peuvent être en Java.)

La seule chose que je suggère est en vous assurant de lots les modifications autant que possible (ce qui signifie ne pas .commit() chaque changement) et aussi ne pas créer un nouvel éditeur pour chaque changement. (Ce ne sont que de bonnes pratiques.)

SharedPreferences settings = getSharedPreferences(PREFS_FILE_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("firstValue", mFirst);
editor.putInt("secondValue", mSecond);
editor.putInt("thirdValue", mThird);

// Commit the edits! (As infrequently as possible)
editor.commit();

Autres conseils

Je ne sais pas au sujet des limites, mais au sujet de votre problème avec tout le monde progrès anéanties. Vous pouvez remplacer la méthode onUpgrade dans votre classe SQLite et les données de migrer vers everyones la base de données plus récente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top