J'ai recherché autour et n'ai rien trouvé lié à ce que j'essaye d'accomplir.Libgdx: Différents profils de préférences
Pour expliquer aussi simple que possible. Mon application stocke divers nombres de valeurs, agissant en tant que paramètres pour l'utilisateur fondamentalement. Maintenant ce que je veux, c'est que l'utilisateur ait la possibilité de basculer entre différents fichiers de préférences. Comme différents profils. Ainsi, sur un clic d'un bouton toutes les instances de préférences via l'application va commencer la lecture d'un fichier différent avec des valeurs différentes, par exemple:
main.preferences = Gdx.app.getPreferences("prefs_2");
où le premier profil serait « prefs_1 » au lieu qui est chargé par défaut lorsque l'application démarre Je ne sais pas si juste changer le fichier de préférences comme indiqué ci-dessus fonctionnerait du tout. Mais j'espère que cela donne une idée de ce que je pense.
Et lorsque vous cliquez sur ce bouton pour modifier le fichier de préférence, l'application va lire que les valeurs de fichiers à travers toutes les classes dans l'application jusqu'à ce qu'il soit redémarré où il va revenir au fichier par défaut:
public class Main extends Game {
public SpriteBatch batch;
public ShapeRenderer renderer;
private Assets assets;
//Local Preferences
public Preferences preferences;
public Main(utilsInterface utils){
this.utils = utils;
}
@Override
public void create() {
batch = new SpriteBatch();
renderer = new ShapeRenderer();
assets = new Assets();
preferences = Gdx.app.getPreferences("prefs_1");
setScreen(new SplashScreen(this));
}
@Override
public void render() {
super.render();
}
@Override
public void resize(int width, int height) {
super.resize(width, height);
}
@Override
public void dispose() {
super.dispose();
assets.dispose();
batch.dispose();
renderer.dispose();
}
@Override
public void pause() {
// TODO Auto-generated method stub
super.pause();
// Logs 'app deactivate' App Event.
// AppEventsLogger.deactivateApp(this);
}
@Override
public void resume() {
// TODO Auto-generated method stub
super.resume();
//Assets.manager.finishLoading();
// Logs 'install' and 'app activate' App Events.
}
}
NOTE * J'utilise la même instance de Préférences de la classe principale dans toute l'application.