使用 sharedpreferences 保存一个 int 变量“highscore”[重复]

Posted

技术标签:

【中文标题】使用 sharedpreferences 保存一个 int 变量“highscore”[重复]【英文标题】:Saving an int variable "highscore" with sharedpreferences [duplicate] 【发布时间】:2014-07-14 11:12:42 【问题描述】:

我正在开发一款游戏,并且我已经编写了所有代码,包括确保更新高分 int 的代码。现在我想知道如何使用 SharedPreferences 保存这个 int。我是一个初级程序员,你能告诉我我必须做的所有步骤吗?

变量 highscore 在 MainView 中,我了解到您必须在 MainActivity 中保存具有共享首选项的内容。

【问题讨论】:

告诉我们你做了什么以及错误在哪里...... Ps 我只有一个高分,它绘制在屏幕的中间顶部 没有错误,我只是想知道我会怎么做,我不明白我在互联网上搜索时需要做什么...... 我严重怀疑您是否进行过任何搜索...这就是我在谷歌上搜索“android sharedpreferences 教程”的内容:tutorialspoint.com/android/android_shared_preferences.htm 花了我 2 秒 @SachinG 我不明白如何使用整数变量来做到这一点 【参考方案1】:

我喜欢创建一个简单的帮助类来处理值的保存和加载。这样你就可以把所有的钥匙放在一个地方。

public class PreferencesHelper 

    private SharedPreferences prefs;

    private static final String FILE_NAME = "file_name";

    public static final String KEY_HIGH_SCORE = "high_score";

    public PreferencesHelper(Context context) 
        prefs = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
    


    /**
     * Save the specified value to the shared preferences
     * 
     * @param key
     *            The key of the value you wish to load
     * @param defValue
     *            The value to store
     */
    public void save(String key, int value) 
        prefs.edit().putInt(key, value).commit();
    


    /**
     * Load the specified value from the shared preferences
     * 
     * @param key
     *            The key of the value you wish to load
     * @param defValue
     *            The default value that will be returned if nothing is found
     */
    public int loadInt(String key, int defValue) 
        return prefs.getInt(key, defValue);
    


然后,在您的活动中,您只需编写:

PreferencesHelper prefs = new PreferencesHelper(this);

// Save
prefs.save(PreferencesHelper.KEY_HIGH_SCORE, 25000);

//Load
prefs.loadInt(PreferencesHelper.KEY_HIGH_SCORE, 0);

【讨论】:

当我在我的活动中编写最后一点代码时,我收到一个错误:令牌上的语法错误,而是应该使用 ConstructorHeaderName 我仍然不明白这段代码是如何识别它必须保存高分变量public int highscore

以上是关于使用 sharedpreferences 保存一个 int 变量“highscore”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 SharedPreferences 保存字符串

Android使用SharedPreferences保存账号密码

SharedPreferences 不保存布尔属性

如何在 Fragment 中使用 SharedPreferences 保存数据

我可以使用一个按钮将数据保存在 sharedPreferences 中,然后使用另一个按钮来检索它吗?

将 ArrayList 保存到 SharedPreferences