34

我在最后一小时试图在我的 Android 应用程序中保存一个整数。我读到这可以使用 SharedPreferences 来完成。但是我不明白为什么这样做看起来如此混乱。

我怎样才能简单地保存一个 int 变量?然后当我再次运行应用程序时,如何再次与该变量交互?

4

3 回答 3

65
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/,您可以通过此SharedPreferenceAPI访问它

于 2013-04-24T14:25:22.273 回答
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 是一个预定义的整数(需要在任何你想使用保存变量的地方声明)

于 2013-04-24T14:32:04.493 回答
7

这是设置布尔首选项的示例。您也可以使用整数。

SharedPreferences prefs = PreferenceManager
                    .getDefaultSharedPreferences(this);
            if (!prefs.getBoolean("firstTime", false)) {

                SharedPreferences.Editor editor = prefs.edit();
                editor.putBoolean("firstTime", true);
                editor.commit();
            }

希望这可能会有所帮助。

于 2013-04-24T14:30:24.963 回答