Es bastante simple, todo lo que tengo que hacer es guardar una puntuación más alta (un número entero) para el juego. Supongo que la forma más fácil de hacer esto sería almacenarlo en un archivo de texto, pero realmente no tengo ni idea de cómo hacerlo.Necesita guardar un puntaje alto para un juego de Android
Respuesta
Si todo lo que necesita es para almacenar un entero, entonces SharedPreferences sería lo mejor para su uso:
//setting preferences
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putInt("key", score);
editor.commit();
Para obtener una preferencia:
//getting preferences
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
int score = prefs.getInt("key", 0); //0 is the default value
Por supuesto sustituir "key"
con la clave de su valor de puntaje alto y "myPrefsKey"
con la clave para sus preferencias (Estas pueden ser las que sean. Es bueno establecerlas en algo reconocible y único).
Uso shared preferences:
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}
Es manera más fácil de almacenar tales cosas.
creo this link le ayudará en ella:
The SharedPreferences class provides a general framework that allows you to save and
retrieve persistent key-value pairs of primitive data types. You can use
SharedPreferences to save any primitive data: booleans, floats, ints, longs, and strings.
This data will persist across user sessions (even if your application is killed).
User Preferences
Shared preferences are not strictly for saving "user preferences," such as what ringtone
a user has chosen. If you're interested in creating user preferences for your
application, see PreferenceActivity, which provides an Activity framework for you to
create user preferences, which will be automatically persisted (using shared preferences).
To get a SharedPreferences object for your application, use one of two methods:
getSharedPreferences() - Use this if you need multiple preferences files identified
by name, which you specify with the first parameter.
getPreferences() - Use this if you need only one preferences file for your Activity.
Because this will be the only preferences file for your Activity, you don't supply a name.
To write values:
Call edit() to get a SharedPreferences.Editor.
Add values with methods such as putBoolean() and putString().
Commit the new values with commit()
To read values, use SharedPreferences methods such as getBoolean() and getString().
mi punto de vista, la mejor manera de ahorrar puntuación más alta es SharedPreferences.
public class HighScores extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_high);
//get text view
TextView scoreView = (TextView)findViewById(R.id.high_scores_list);
//get shared prefs
SharedPreferences scorePrefs = getSharedPreferences(PlayGame.GAME_PREFS, 0);
//get scores
String[] savedScores = scorePrefs.getString("highScores", "").split("\\|");
//build string
StringBuilder scoreBuild = new StringBuilder("");
for(String score : savedScores){
scoreBuild.append(score+"\n");
}
//display scores
scoreView.setText(scoreBuild.toString());
}
}
Se deben agregar algunas líneas de texto para explicar qué hace realmente este bloque de código. – Sufian
- 1. ¿Cómo creo un puntaje global alto para mi aplicación de Android?
- 2. Cómo enviar de forma segura un puntaje alto en un juego de front-end para evitar el secuestro posterior
- 3. Escala de una base de datos de puntaje alto
- 4. ¿Qué matemática se necesita para un juego de aterrizaje lunar?
- 5. ¿Puedo hacer un juego HTML5 para Android?
- 6. Necesita un programa de ejemplo para "guardar archivos de caché" en Android
- 7. Actualice un puntaje ya presentado en Game Center
- 8. ¿Dónde guardar puntajes altos en un juego de XNA?
- 9. Anti-piratería de un juego - mejores prácticas, sugerencias
- 10. Decisiones de diseño/consejos para un juego simple en Android
- 11. Cómo escalar correctamente un juego en Android
- 12. 2D API o OpenGL ES para un juego Android 2D?
- 13. Juego para Android UDP/TCP?
- 14. ¿Qué representa un puntaje del Clasificador Bayesiano?
- 15. ¿WebView necesita un WebViewClient para funcionar?
- 16. Uso del cifrado en guardar datos para evitar hacer trampa en un juego para iPhone
- 17. Elegir un motor de juego en 2D para un simple juego de aventura estilo Zelda
- 18. Cómo guardar datos en una aplicación de Android
- 19. ¿Guardar un NSView en un archivo png?
- 20. ¿Arquitectura de servidor para un juego multijugador?
- 21. Algoritmo para un juego de estrategia
- 22. ¿La mejor manera de separar la lógica del juego de la representación para un juego rápido para Android con OpenGL?
- 23. Juego de motor para iPhone/Android
- 24. ¿Es esta una buena manera de hacer un ciclo de juego para un juego de iPhone?
- 25. Usando Game Center para guardar/compartir datos/estado del juego
- 26. ¿Cómo guardo los niveles en un juego de Android?
- 27. Necesita primer para un novato de Msbuild
- 28. Algoritmo genético para un juego de cartas (Dominion)
- 29. Lucene: cómo obtener el puntaje de un documento
- 30. android cómo guardar un objeto en un archivo?
Solo para confirmar, ¿almacenará esto los datos así que la próxima vez que ejecute el juego puedo obtenerlo? – Zizo47
Sí, estos datos persisten entre las ejecuciones de su aplicación. Solo asegúrate de llamar a commit(); en el editor para que se guarden! – dymmeh
Muchas gracias, lo intentaré ahora – Zizo47