在项目的使用过程中,对于字符串数组的保存曾经用set数值队的形式进行保存,但是问题是出现了,重启,以及非常规关闭,造成了数据遗失的现象
很是怪异。
当时的代码:
读取
SharedPreferences sp = getSharedPreferences(USER, 0);
staffSets= sp.getStringSet("nameSet",new HashSet<String>());
staffs =new ArrayList<String>(staffSets);
保存
SharedPreferences sp = getSharedPreferences(USER, 0);
// 写入配置文件
Editor spEd = sp.edit();
staffSets.add(userName.getText().toString());
spEd.putStringSet("nameSet",staffSets);
spEd.commit();
最后替换成了,保存为string,通过SPLIT来区分不同人员登录记录