Pregunta

I desarrolló un juego en Android. Actualmente estoy ahorrando la mayor parte de las estadísticas del juego en una base de datos. Sin embargo, la aplicación no utiliza más de una sola fila en la base de datos. Ahora estoy interesado en introducir algunas nuevas estadísticas, pero esto hará que mi base de datos para volver a instalar y así despejar el progreso de todos. Para evitar esto en el futuro estoy considerando el almacenamiento de las estadísticas del juego con SharedPreferences lugar. Mi pregunta es cómo muchas cosas diferentes pueden ser almacenados de esa manera antes de que se convierta en un problema. En total estaría almacenando alrededor de 40 valores, todos los números enteros.

¿Fue útil?

Solución

SharedPreferences se escriben en archivos XML, por lo que el tamaño máximo de un archivo en Android es ¿cómo puede ser un archivo XML SharedPreferences grandes. Puedo decir con seguridad que los 40 valores enteros no será un problema.

El tamaño máximo de un valor en un archivo SharedPreferences se limita al tamaño máximo del valor que está tratando de almacenar. (Es decir, no se puede poner un valor de cadena que es más larga que las cuerdas pueden ser en Java.)

La única cosa que sugeriría es asegurarse de que los lotes ediciones tanto como sea posible (es decir no .commit() cada cambio) y también no crear un nuevo editor para cada cambio. (Estos son sólo buenas prácticas.)

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();

Otros consejos

No sé sobre cualquier limitación respecto a su problema, pero con gustos progresos que se están eliminados. Puede reemplazar el método ONUPGRADE en su clase de SQLite y entonces los datos everyones migrar a la base de datos más reciente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top