Почему у SharedPreferences.Editor
есть метод putStringSet()
, но нет метода putStringList()
? Это не имеет для меня никакого смысла. Насколько я понимаю (что может быть неправильно), объекты SharedPreferences
хранятся внутри с использованием xml
, а xml
поддерживает массивы.
Я понимаю, что объект SharedPreference
предназначен быть простым объектом для небольших объемов данных, поэтому вам не хотелось бы иметь слишком много методов put
, но я бы подумал, что если вы собираетесь иметь один из putStringSet()
или putStringList()
, putStringList()
было бы более полезно (множество можно сохранить как список, но не наоборот) и проще в реализации. Кто-нибудь может это объяснить?
putString(key + index, strings.get(index);
или использование символа разделения, такого какstring0 + '#' + string1 + '#' + string2
и т. д.). Я использовал эти хаки, но я хотел бы знать, почему это было разработано таким образом. Для меня это вообще не имеет смысла. - person Paul Boddington   schedule 14.09.2015SharedPreferences
, это разработчики, ответственные заSharedPreferences
, и вряд ли они увидят этот вопрос, не говоря уже о том, чтобы ответить на него. - person CommonsWare   schedule 14.09.2015