Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 无法使用Preferences保存或加载Integer大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我构建了一个类似于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(高分),当你再次打开游戏时我会调用geTint.

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

问题是当我在早期游戏之后再次开始游戏时,高分不加载,它返回零…

我已经完成了明确许可:
    

谢谢
///丹尼尔

Ps.在最后一个答案中,我说它适用于某些设备,但我后来发现并非如此.

解决方法

确保检索这样的数据:

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(“游戏”);返回null.

EDIT2:

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

如果你真的需要在桌面设备和Android设备上使用它,还有另一种方法.如果你只是想让你的游戏在Android上工作,你就不应该使用Gdx来保存数据.

我建议你使用一种称为GDX And​​roid界面的东西.这样您就可以使用本答案中使用的原生Android调用自行处理在Android设备上保存数据.这不是很容易,但这里有一个教程:

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

大佬总结

以上是大佬教程为你收集整理的android – 无法使用Preferences保存或加载Integer全部内容,希望文章能够帮你解决android – 无法使用Preferences保存或加载Integer所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。