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