Настройки приложения
Настройки приложения
Как лучше всего организовать хранение и работу с настройками приложения?
У меня там пара string и несколько булевых значений. Первоначально думал в Preferences, но, на сколько я понял, для каждого данные сохраненные в нем из одного активити не будут видны в другом?
Остается SQLite, но, возможно, есть более удобный способ?
У меня там пара string и несколько булевых значений. Первоначально думал в Preferences, но, на сколько я понял, для каждого данные сохраненные в нем из одного активити не будут видны в другом?
Остается SQLite, но, возможно, есть более удобный способ?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Настройки приложения
Есть метод getSharedPreferences(String name, int mode). Он аналогичен getPreferences, только первым параметром передается имя файла с настройками(без расширения).
На самом деле вызов getPreferences равносилен вызову getSharedPreferences, где name равно имени Активити.
На самом деле вызов getPreferences равносилен вызову getSharedPreferences, где name равно имени Активити.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Настройки приложения
То есть, сохраненные данные с одного активити можно будет считывать в любом другом в рамках приложения?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Настройки приложения
Именно так.
PS: Для информации: Настройки хранятся в папке "/dbdata/databases/<Имя пакета программы>/shared_prefs/" с расширением xml.
После удаления программы, настройки ни куда не пропадают, и если в них записанно, что то, что мешает запуску программы или, как уменя один раз было, не дает перезаписать настройки, придется в ручную удалять эту папку (нужны рут права).
PS: Для информации: Настройки хранятся в папке "/dbdata/databases/<Имя пакета программы>/shared_prefs/" с расширением xml.
После удаления программы, настройки ни куда не пропадают, и если в них записанно, что то, что мешает запуску программы или, как уменя один раз было, не дает перезаписать настройки, придется в ручную удалять эту папку (нужны рут права).
Последний раз редактировалось KamiSempai 23 мар 2012, 12:21, всего редактировалось 1 раз.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Настройки приложения
Спасибо, сейчас попробую подключить к проекту
Re: Настройки приложения
А как лучше всего организовать работу с SharedPrefernces из класса, который не наследует Activity?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Настройки приложения
Это можно сделать через Context, который передается в конструктор класса.Здесь this - это сама активити, в которой создается объект.
Вот конструктор:
Код: Выделить всё
MyClass MyObject = new MyClass(this);
Вот конструктор:
Код: Выделить всё
public MyClass(Context context) {
SharedPreferences Pref = context.getSharedPreferences(PREF_FILE, Context.MODE_WORLD_READABLE);
// Дальше, думаю, понятно...
}
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.