使用 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”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android使用SharedPreferences保存账号密码
如何在 Fragment 中使用 SharedPreferences 保存数据