Я пытаюсь сохранить набор строк с SharedPreferences API SharedPreferences.
Set<String> s = sharedPrefs.getStringSet("key", new HashSet<String>());
s.add(new_element);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putStringSet(s);
edit.commit()
В первый раз, когда я выполняю приведенный выше код, s устанавливается в значение по умолчанию (только что созданный конец пустой HashSet), и он сохраняется без проблем.
Во второй и следующий раз, когда я выполняю этот код, возвращается объект s с добавлением первого элемента. Я могу добавить элемент, и во время выполнения программы он, очевидно, сохраняется в SharedPreferences, но когда программа уничтожается, SharedPreferences снова считывает данные из своего постоянного хранилища, и новые значения теряются.
Как можно хранить второе и последующие элементы, чтобы они не потерялись?