如何将多个数据存储到SharedPreference中

时间:2018-01-04 15:40:22

标签: android firebase sharedpreferences

我有这个

 mSharedPref.edit().putString("newuser",model.getName()).apply();

这就是我在onStart()方法

中检索数据的地方
Log.e("ONSTARTUSER",""+ mSharedPref.getString("newuser",null));

我的输出就是这个

  

ONSTARTUSER:荷马辛普森

但是我有一个名字的集合,比方说10个名字,我希望我的共享首选项在我调用getString(“newuser”)时显示它们,我该怎么做?我正在使用firebaselistadapter

2 个答案:

答案 0 :(得分:1)

首先将您的列表转换为集合:

Set<String>usersSet= new HashSet<>(usersList);

然后将该集保存到SharedPreferences:

    SharedPreferences prefs = getSharedPreferences();
    SharedPreferences.Editor editor = prefs.edit();
    editor.putStringSet("newusers", usersSet);

并得到他们:

    SharedPreferences prefs= getSharedPreferences();
    Set<String> usersSet= prefs.getStringSet("newusers", new HashSet<String>());

答案 1 :(得分:1)

两种选择:使用带有editor.putStringSet()的StringSet或使用SQLite数据库。

数据库似乎是我维护名单(或任何列表)的最佳解决方案,更安全。例如,如果您的应用被系统杀死,您可能会使用共享首选项丢失数据。

相关问题