【问题标题】:How to retrieve a list of data from SharedPreferences如何从 SharedPreferences 中检索数据列表
【发布时间】:2017-12-17 19:04:53
【问题描述】:

我正在尝试从 sharedPreferences 中检索数据:

    public static void loadArray(Context mContext) {
    SharedPreferences mSharedPreference1 = PreferenceManager.getDefaultSharedPreferences(mContext);
    WorkList.clear();
    int size = mSharedPreference1.getInt("Status_size", 0);
    for (int i = 0; i < size; i++) {
        WorkList.add(mSharedPreference1.getString("Status_" + i, null));
    }
}

我得到了这个代码,但不知道如何调用这个方法。我尝试在同一个非活动类中调用此方法。

【问题讨论】:

  • 试试:YourClassName.loadArray(getContext());
  • 我试过了,它说:“非静态方法'loadArray(android.content.Context)不能从静态上下文中引用”我试过的代码:public void main(String[] args) { MainActivity.loadArray(getApplicationContext()); }
  • 他说是非活动类。

标签: java android listview sharedpreferences


【解决方案1】:

按照this链接创建应用单例类

然后就可以通过loadArray(AppSingleton.getInstance().getContext())调用方法

一旦你有点舒服并理解了这个概念,就切换到使用Dagger2 来处理单例

【讨论】:

  • 你的链接失效了
  • 我改了。对于新开发人员来说,这似乎令人生畏,但它是一个非常安全的选择。完成它的一种不好的方法可能是使用活动中的公共静态上下文,但千万不要!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
相关资源
最近更新 更多