java - 无法使用共享首选项保存游戏高分?

标签 java android sharedpreferences

这是我用来保存高分的游戏代码

SharedPreferences preferences = null;
SharedPreferences.Editor editor = null;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game);

    //Highscore.easyHigh = 0;

    Highscore.easyHigh = preferences.getInt("EasyScore", 0);
    Highscore.mediumHigh = preferences.getInt("MediumScore", 0);
    Highscore.hardHigh = preferences.getInt("HardScore", 0);

现在我在玩家输掉游戏时设置这些值

editor = preferences.edit();
        if(level==1)
        editor.putInt("EasyScore", score);
        else if(level==2)
        editor.putInt("MediumScore", score);
        else if(level==3)
        editor.putInt("HardScore", score);
        editor.commit();

Highscore 我的类存储 public static int 是简单、中等还是困难?

我收到空指针异常,但为什么会发生这种情况?

最佳答案

您的首选项和编辑器值未初始化,请使用:

preferences = PreferencesManager.getDefaultSharedPreferenes(this);
editor = preferences.edit();

关于java - 无法使用共享首选项保存游戏高分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23725268/

相关文章:

java - 当我从 JSP 向 MySQL 发送请求时,数据库中显示的俄语符号不正确

Android:如何创建类似 Facebook 的图片库网格?

android - onPageScrolled() 没有被调用

android - Unresolved reference :build.gradle.kts中的grgit

Android Store 到外部或到 SharedPreferences

java - Android:将 map 保存到 SharedPreferences?

java - 如何在用户选择首选项后重新运行 onCreate。

java - 让线程 hibernate 30 分钟

java - 就数据挖掘和可视化的工具支持而言,日志事件的最佳 XML 格式?

java - 更改 TypeDeclaration 时 Eclipse AST 不更改类文件