Sharedpreferences - 启动时崩溃

Rog*_*ger 2 android sharedpreferences

我正在尝试编写一个能够写入和读取共享偏好数据的活动.

我在开始时启动SharedPreferences

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
Run Code Online (Sandbox Code Playgroud)

然后,此函数将一个int写入SP并调用另一个函数.

public void SetHue(int i)
{
    SharedPreferences.Editor editor = preferences.edit();
    editor.putInt("storedInt", i); // value to store
    editor.commit();
    ApplyHue();
}
Run Code Online (Sandbox Code Playgroud)

这个其他函数应该从SP读取int ...

    public void ApplyHue()
    {   
    int hueInt = preferences.getInt("storedInt", 0);
    /// adjust background image hue according to hueInt.
    }
Run Code Online (Sandbox Code Playgroud)

我不能简单地将这个int从一个函数传递给另一个函数,因为我需要其他活动才能运行ApplyHue()函数,它应该从内存中使用hueInt.

您认为可能导致崩溃的原因是什么?

谢谢!

Ras*_*sel 5

我想你在onCreate方法之前在课堂上写了这一行.

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
Run Code Online (Sandbox Code Playgroud)

Decalare SharedPreferences preferences;在课堂上,然后在onCreate

preferences = PreferenceManager.getDefaultSharedPreferences(this);
Run Code Online (Sandbox Code Playgroud)

希望你的问题能够得到解决