我正在尝试最后一小时在我的Android应用程序中保存一个整数。我读到这可以使用SharedPreferences完成。但是我不明白为什么这样做会让人感到困惑。
我怎样才能简单地保存一个int变量?然后当我再次运行应用程序时,我如何再次与此变量交互?
答案 0 :(得分:54)
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", yourIntValue);
editor.commit();
你可以得到它:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int myIntValue = sp.getInt("your_int_key", -1);
SharedPreference
界面使您可以访问xml文件,并通过其编辑器轻松修改它。该文件存储在/data/data/com.your.package/shared_prefs/
中,您可以通过此SharedPreference
API
答案 1 :(得分:11)
public void SaveInt(String key, int value){
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}
public void LoadInt(){
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
savedValue = sharedPreferences.getInt("key", 0);
}
如果要在某处保存变量,则必须编写SaveInt(“key”,5);使用此方法,您将保存值5,而第一个默认值为0.如果要加载它并在另一个活动中使用它,则必须在其中编写这两种方法,并调用LoadInt();你需要变量的地方。 savedValue是一个预定义的整数(这需要在你想使用保存的变量的任何地方声明)
答案 2 :(得分:6)
这是设置布尔首选项的示例。你也可以和Integer一起去。
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
希望这可能会有所帮助。