Динамические настройки для переменного числа профилей в приложении для Android - PullRequest
2 голосов
/ 22 августа 2010

Я ищу способ создания динамических предпочтений, где мне не нужно жестко кодировать ключ предпочтения, и у меня может быть переменное число предпочтений.По сути, мое приложение позволит пользователю создавать несколько профилей, и каждый из этих профилей будет сохранять пользовательские значения для фиксированного количества предпочтений.
Таким образом, пользователю не нужно изменять предпочтения каждый раз, когда он хочетэто приложение для запуска по-другому, он может просто переключить профиль.Один способ, который я думаю, будет работать - это создать подклассы всех стандартных классов предпочтений и вызвать их метод setKey с моим настраиваемым ключом предпочтений, содержащим имя профиля, но это ужасно.Так есть ли более чистый и более совместимый со стандартами способ сделать это?С уважением, Друват

1 Ответ

3 голосов
/ 22 августа 2010

Вы можете сохранить различные настройки в отдельном файле для каждого пользователя, используя метод getSharedPreferences:

getSharedPreferences() - используйте этот параметр, если вам нужно несколько файлов настроек, идентифицируемых по имени, которое вы указываете в первом параметре.

Таким образом, вы можете сделать что-то вроде этого:

SharedPreferences settings = getSharedPreferences("prefs_user_"+user_id, 0);
// from now on you can use use the normal way to set or get the preferences

Я предполагаю, что вы используете id для идентификации их пользователей.

...