如何将多个数据存储到共享首选项中



我有这个

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

这就是我在我的onStart()方法中检索数据的地方

Log.e("ONSTARTUSER",""+ mSharedPref.getString("newuser",null));

我的输出是这个

用户:荷马·辛普森

但是我有一个名称集合,假设有 10 个名称,我希望我的共享首选项在调用 getString("newuser"( 时显示它们,我该怎么做? 我使用 firebaselistadapter

首先将列表转换为集合:

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

然后将集合保存到共享首选项中:

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

并得到它们:

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

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

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

最新更新