Я пытаюсь сохранить набор строк с 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
снова считывает данные из своего постоянного хранилища, и новые значения теряются.
Как можно хранить второе и последующие элементы, чтобы они не потерялись?