【问题标题】:How to use data stored in sharedpreferences from non-activity class如何使用非活动类中存储在 sharedpreferences 中的数据
【发布时间】:2012-07-10 08:51:26
【问题描述】:

我正在尝试从非活动类获取和更新存储在 sharedpreferences xml 文件中的数据。但我不知道如何从 android 中的非活动类获取存储在 sharedPreferences 中的数据。在我的活动中我的班级可以将数据存储在 sharedprefences 中,我也可以在我的活动班级中检索这些数据。但是我无法从非活动类中检索这些数据。我的代码如下。谢谢...

    mSharedPrefs = getSharedPreferences("storageforfavorite", 0);
    mPrefsEditor = mSharedPrefs.edit();

    for(int i= 0;i<names.size();i++){
        mPrefsEditor.putString(indexForFav[i],"0"); 
    }
    mPrefsEditor.commit();

    for(int i=0;i<names.size();i++){
        String keyForFav=mSharedPrefs.getString(indexForFav[i], "2");
        valueForFav.add(keyForFav);
    }

【问题讨论】:

    标签: android sharedpreferences


    【解决方案1】:

    关键是可以访问 Context 对象。 因此,如果您想在对象内部使用 sharedPreferences,也许您应该在类构造函数中传递一个 Context 对象。这样做你可以这样做:

    SharedPreferences prefs = context.getSharedPreferences();
    

    【讨论】:

      【解决方案2】:

      您必须传递一个Context 才能从非Activity 类访问SharedPreferences

      例子:

      // mContext => Context-object passed from calling Activity
      SharedPreferences mSharedPrefs = mContext.getSharedPreferences("storageforfavorite", 0);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-12
        • 1970-01-01
        • 1970-01-01
        • 2019-08-23
        • 2012-07-01
        • 2021-09-29
        相关资源
        最近更新 更多