我正在尝试编写一个能够写入和读取共享偏好数据的活动。
我在开始时启动SharedPreferences
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
然后这个函数将一个int写入SP并调用另一个函数。
public void SetHue(int i)
{
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", i); // value to store
editor.commit();
ApplyHue();
}
这个其他函数应该从SP中读取int ...
public void ApplyHue()
{
int hueInt = preferences.getInt("storedInt", 0);
/// adjust background image hue according to hueInt.
}
我不能简单地将这个int从一个函数传递给另一个函数,因为我需要其他活动来运行ApplyHue()函数,它应该从内存中使用hueInt。
您认为可能会导致其崩溃?
谢谢!
答案 0 :(得分:5)
我认为你在onCreate方法之前在课堂上写了这一行。
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
课程中的Decalare SharedPreferences preferences;
然后是onCreate
preferences = PreferenceManager.getDefaultSharedPreferences(this);
希望你的问题能够得到解决