【问题标题】:How to get SharedPreferences from a PreferenceActivity如何从 PreferenceActivity 中获取 SharedPreferences
【发布时间】:2017-01-01 06:10:04
【问题描述】:

我有一个类,我希望将 SharedPreferences 保存在 Android 应用的 PreferencesActivity 中。我已经尝试过了,但它给出了一个空指针异常。同样,我正在使用一个类,而不是一个活动来获得我需要的东西。

public PrefsInterface(Context context)
{
    gson = new Gson();
    sPreferences = PreferenceManager.getDefaultSharedPreferences(context);
    String json = sPreferences.getString("myJsonCity", "");
    if(!json.isEmpty())
    {
        Type t = new TypeToken<CityObj>(){}.getType();
        myCity = gson.fromJson(json, t);
        //System.out.println(myCity.city());
    }
    else
    {
        System.out.println("Error getting city from settings.");
    }

}

【问题讨论】:

  • 在 Activity 中相同的代码是否有效?
  • 分享您的活动代码和异常堆栈跟踪的一部分
  • 这应该可以。使用类并传递上下文是这样做的合法方式。您能否添加有关异常本身的更多详细信息?

标签: android sharedpreferences android-preferences


【解决方案1】:

我明白了为什么我什么也没得到。我保存错了。而不是像这样保存:

SharedPreferences preferences==PreferenceManager.getDefaultSharedPreferences(this);
  SharedPreferences.Editor editor=preferences.edit();
  editor.putString("Name","Harneet");
  editor.commit();

我是这样保存的:

SharedPreferences.Editor = this.getPreferences(MODE_PRIVATE).edit();

这意味着我无法检索由于该私人模式而保存的设置。

【讨论】:

    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 2015-10-10
    • 2011-09-23
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多