我已经四处寻找并且没有发现任何与我想要达到的目标有关的事情。
尽可能简单地解释。我的应用程序存储了各种数量的值,基本上作为用户的设置。现在我想要的是让用户能够在不同的首选项文件之间切换。喜欢不同的档案。 因此,只需单击一个按钮,通过应用程序的所有Preferences实例将开始读取具有不同值的不同文件,例如:
main.preferences = Gdx.app.getPreferences("prefs_2");
其中第一个配置文件将是“prefs_1”,而应用程序启动时默认加载该配置文件。我不知道如果只更改上面显示的首选项文件就可以了。但我希望它能让我知道我的想法。
当点击该按钮更改首选项文件时,应用程序将在应用程序中的所有类中读取该文件的值,直到重新启动它将返回到默认文件:
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.
}
}
注意* 我在整个应用程序中使用主类中相同的首选项实例。
答案 0 :(得分:1)
是的,这会有用。
如果您使用其他设置文件,它将使用该文件的设置。只需确保所有设置都有默认值,这样如果创建了一个新文件(当你打开一个不存在的文件时,写入并刷新它),你仍然可以使用它而不用写入所有设置。