gpt4 book ai didi

android - 无法使用首选项保存或加载整数

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:16 27 4
gpt4 key购买 nike

所以我构建了一个类SaveAndLoad,如下所示:

public class SaveAndLoad {
public Preferences pref;
public final String path = "Highscore";

public SaveAndLoad() {
pref = Gdx.app.getPreferences("Gametitle");
}

public void saveInt(int value) {
pref.putInteger(path, value);
pref.flush();
}

public int getInt() {
return pref.getInteger(path);
}
}

当我尝试保存我的高分时,我调用 saveInt(highscore),当你再次打开游戏时,我调用 getInt

    constructor(){
SaveAndLoad sdRemote = new SaveAndLoad ();
try {
highscore = sdRemote.getInt();
} catch (NullPointerException e) {
highscore = 0;
}
}

问题是当我在之前的游戏之后再次开始游戏时,高分没有加载,它返回零......

我已经完成了 list 许可:

谢谢///丹尼尔

附言。在上一个答案中我说它适用于某些设备,但后来我发现情况并非如此。

最佳答案

确保像这样检索数据:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
int silent = settings.getInt("score", 0);

然后像这样保存:

  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("score", playerScore);
// Commit the edits!
editor.commit(); //<----------

编辑:

啊,你正在使用 GDX。在这种情况下,请确保在 GDX 初始化后初始化此类。检查 Gdx.app.getPreferences("Game"); 是否返回 null。

编辑2:

好的,所以我们已经确认这是某些设备上的 Gdx 问题(很糟糕)。

如果您真的需要在台式机和 Android 设备上实现此功能,还有另一种方法。如果您只想让您的游戏在 Android 上运行,您根本不应该使用 Gdx 来保存数据。

我建议您使用一种称为 GDX And​​roid 界面的东西。通过这种方式,您可以使用我在此答案中使用的 native Android 调用自行处理在 Android 设备上保存数据。虽然这并不容易,但这里有一个教程:

https://code.google.com/p/libgdx-users/wiki/IntegratingAndroidNativeUiElements3TierProjectSetup

关于android - 无法使用首选项保存或加载整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15311821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com