Topic: Сохраняем настройки
Обсуждение статьи Сохраняем настройки
Все вопросы проплачены кошками - всемирно известными производителями котят
You are not logged in. Please login or register.
Для регистрации на форуме следует написать мне письмо. В ответе я напишу правильный ответ для прохождения регистрации.
Форум Александра Климова → Android → Сохраняем настройки
Добрый день!
Вопрос - где лучше всего читать настройки?
У меня есть активити Settings, там я меняю/сохраняю настройки приложения.
Настройки хранятся в SharedPreferences.
Но эти настройки мне нужны в MainActivity.
Вопрос:
Чтение настроек в каждой активности делать свое или сделать общий класс и к нему обращаться или использовать класс Settings где у меня уже есть чтение настроек.
И как вызвать процедуру, которая читает настройки в SettingsActivity из MainActivity?
В public class Setting extends AppCompatActivity у меня есть процедура
public void readSetting() {
mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
Switch vibra_switch = (Switch) findViewById(R.id.vibra_switch);
Switch sound_switch = (Switch) findViewById(R.id.sound_switch);
Switch toast_switch = (Switch) findViewById(R.id.toast_switch);
vibra_switch.setChecked(mSettings.getBoolean(APP_PREFERENCES_Vibra, true));
sound_switch.setChecked(mSettings.getBoolean(APP_PREFERENCES_Sound, true));
toast_switch.setChecked(mSettings.getBoolean(APP_PREFERENCES_Toast, true));
}
SharedPreferences - это по сути чтение и запись в файл. Не имеет значения, из какой активности вы будете обращаться к файлу - он общий для всех активностей. Поэтому, точно также создаете экземпляр класса SharedPreferences и считываете нужные настройки.
забавно ощущать себя некропостером, но раз уж...
в общем вопрос — а есть ли возможность определить принципиальное наличие файла настроек?
как я понял команда
mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
при отсутствии файла сразу его создаёт? а если мне нужно только узнать есть этот файл или нет? то как?
ну и за компанию — а удалить файл настроек можно?
Файл настроек - это файл с известным путем и именем. Поэтому можно проверить и его наличие и удалить. Но нужно ли это?
Как-то скажется на работе программы, если я буду просто получать значение без проверки на наличие ключа?
Здравствуйте! Как лучше сохранить логин-пароль для автоматической авторизации на разных сайтах? Подгружать в Intent?
А как избавиться от того что при каждом обновлении приложения из play market эти настройки стираются.
Т.е. поясню: Человек устанавливает моё приложение и настраивает как ему необходимо, затем я делаю новую версию и выкладываю в play market и когда он обновляет приложение ему приходится настраивать всё заново.
Настройки не стираются. Скорее всего у вас неправильно написано приложение, которое самое стирает данные.
Настройки не стираются. Скорее всего у вас неправильно написано приложение, которое самое стирает данные.
На что тогда следует обратить внимание в программе? Что может быть написано или настроено не так?
Смотрите свой код, который удаляет данные. Гадать можно до бесконечности.
Здравствуйте, подскажите как быть со значениями double? Как их сохранить?
Я встречал несколько вариантов, все они немножко костыли. Например, переводить число в строку, а потом опять из строки делать число. Видел вариант, когда наследовались от SharedPreferences и создавали свой класс с поддержкой double. Еще были какие-то варианты.
Форум Александра Климова → Android → Сохраняем настройки
Powered by PunBB, supported by Informer Technologies, Inc.