我正在尝试使用SharedPreferencesAPI存储一组字符串.
Set<String> s = sharedPrefs.getStringSet("key", new HashSet<String>());
s.add(new_element);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putStringSet(s);
edit.commit()
Run Code Online (Sandbox Code Playgroud)
我第一次执行上面的代码时,s设置为默认值(刚刚创建的结束为空HashSet)并且存储没有问题.
第二次和下次我执行此代码时,s返回一个对象,并添加第一个元素.我可以添加元素,并且在程序执行期间,它显然存储在SharedPreferences,但是当程序被终止时,SharedPreferences从其持久存储中再次读取并且新值被丢失.
第二个以及之后的元素如何存储以便它们不会丢失?