Урок 71. Preferences как настройки приложения. PreferenceActivity
Урок 71. Preferences как настройки приложения. PreferenceActivity
В этом уроке:
- используем Preferences для работы с настройками приложения
Click here to read this article!
- используем Preferences для работы с настройками приложения
Click here to read this article!
Последний раз редактировалось damager82 19 май 2017, 10:15, всего редактировалось 5 раз.
Re: Урок 71. Preferences как настройки приложения. Preferenc
А если в одном приложении может быть несколько активити-настроек, как к ним получить доступ?sp = PreferenceManager.getDefaultSharedPreferences(this);
Re: Урок 71. Preferences как настройки приложения. Preferenc
mi.setIntent(new Intent(this, PrefActivity.class));Prospekt писал(а):А если в одном приложении может быть несколько активити-настроек, как к ним получить доступ?sp = PreferenceManager.getDefaultSharedPreferences(this);
Здесь указываете другой Activity-класс
Или не в этом вопрос?
Re: Урок 71. Preferences как настройки приложения. Preferenc
Наверное всетаки не в этом. Как вызвать Активити с настройками, я понял. А вот как получить значение установок я не понял. Предположим у нас есть 2 разных активити с настройками PreAct1 и PreAct2. Метод PreferenceManager.getDefaultSharedPreferences(this); возвращает (как я понимаю) настройки (значения) либо первой активити либо второй. Например в первой есть текстовые поля "name" и "login", а во второй тектовые поля "id" и "name". Если сделать так:
sp = PreferenceManager.getDefaultSharedPreferences(this);
String name = sp.getString("name", "");
Что будет находиться в переменной (объекте) name? Значение name PreAct1 или значение name PreAct2.
sp = PreferenceManager.getDefaultSharedPreferences(this);
String name = sp.getString("name", "");
Что будет находиться в переменной (объекте) name? Значение name PreAct1 или значение name PreAct2.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Я не проверял, но думаю, что если PreAct1 и PreAct2 оба содержат поле name, то они оба и будут работать с параметром name из PreferenceManager.getDefaultSharedPreferences.Prospekt писал(а):Что будет находиться в переменной (объекте) name? Значение name PreAct1 или значение name PreAct2.
Т.е. на экране PreAct1 написали в name значение value. Открываем PreAct2 и видим это же значение. Т.е. поля два, а значение одно.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Уже несколько дней бьюсь с проблемой:
Есть 2 активности. 1 активность должна читать ключи, другая читать и записывать их.
Первая активность не загружает информацию из ключа "number",а вторая (где он и создавался) - наоборот выгружает и всё ок.
В двух активностях этот код и даже переменные одинаковы.
Я уже устал решать это(
Есть 2 активности. 1 активность должна читать ключи, другая читать и записывать их.
Первая активность не загружает информацию из ключа "number",а вторая (где он и создавался) - наоборот выгружает и всё ок.
Код: Выделить всё
SharedPreferences save;
save = getPreferences(MODE_WORLD_WRITEABLE);
Editor ed = save.edit();
key = save.getInt("number", 0);
Я уже устал решать это(
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 71. Preferences как настройки приложения. Preferenc
Вот тема где я про это уже писал: Настройки приложения
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Спасибо,мужик!!
Получилось!!
Спс большое!!!
Обожаю Ваш сайт. Ща кину денег Вам
Получилось!!
Спс большое!!!
Обожаю Ваш сайт. Ща кину денег Вам
Re: Урок 71. Preferences как настройки приложения. Preferenc
Как удалить данные из ключа?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 71. Preferences как настройки приложения. Preferenc
Что бы понять как это сделать, достаточно посмотреть на список методов SharedPreferences.Editor.romanzi писал(а):Как удалить данные из ключа?
Учитесь находить нужную Вам информацию, в программировании это очень полезный навык.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 71. Preferences как настройки приложения. Preferenc
Здравствуйте. Такой вопрос. Зачем использовать метод addPreferencesFromResource , если он объявлен как
Re: Урок 71. Preferences как настройки приложения. Preferenc
Чето вы не договариваете ...no-- писал(а):Здравствуйте. Такой вопрос. Зачем использовать метод addPreferencesFromResource , если он объявлен как
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 71. Preferences как настройки приложения. Preferenc
Мхатовскую паузу выдерживаетdamager82 писал(а):Чето вы не договариваете ...
Я, как главный телепат форума, предположу, что он имеет ввиду пометку "Deprecated".
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 71. Preferences как настройки приложения. Preferenc
Извиняюсь. Торопился при написании и не заметил что курсор потерял при переводе на другой язык. Да, он объявлен как Deprecated. Вроде как сейчас советуют использовать другой подход. Названия не помню к сожалению.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Есть такое. Это в Android 3 куча нового появилась. Позже все это буду рассказывать.no-- писал(а):Извиняюсь. Торопился при написании и не заметил что курсор потерял при переводе на другой язык. Да, он объявлен как Deprecated. Вроде как сейчас советуют использовать другой подход. Названия не помню к сожалению.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Честно, мозг сломал, пока понимал логику действия этой штуки =). Хотя она меня привлекла только тем, что автоматом строит из xml активити настроек. Сами настройки храню в SQLite, но для вывода и их редактирования хочу использовать Preferences.
Re: Урок 71. Preferences как настройки приложения. Preferenc
Вот я "молодец"!! Два месяц назад велосипед изобрёл. Надо мне были подобные настройки.. так я их через ListView лепил.. с кучами методов и всего остального.. А тут все готовое есть. Только у меня было много полей, где по по нажатию диалог открывался с одиночным выбором. А как этим способом такое реализовать не подскажите?
Re: Урок 71. Preferences как настройки приложения. Preferenc
Добрый день.
У меня в настройках приложения используются XML данные. Использовал PreferenceFragment по вот этому примеру
Теперь возникла такая задача, чтобы в этих же настройках использовать одну переменную для внешнего устройства и необходимо сделать так, чтобы при установке данной переменной в настройках, вызывался обработчик, по которому включался Bluetooth и эта переменная отправлялась для записи во Flash память микроконтроллера.
Запись во Flash реализовал, отправку данных по Bluetooth также, а вот с PreferenceFragment что то не получается. Отдельное активити делать не хочется, подскажите как с помощью PreferenceFragment такое реализовать? Т.е. мне нужен сам код обработчика.
Вот мой код:
Ключ переменной в XML: pref_pwmMax, EditTextPreference.
У меня в настройках приложения используются XML данные. Использовал PreferenceFragment по вот этому примеру
Теперь возникла такая задача, чтобы в этих же настройках использовать одну переменную для внешнего устройства и необходимо сделать так, чтобы при установке данной переменной в настройках, вызывался обработчик, по которому включался Bluetooth и эта переменная отправлялась для записи во Flash память микроконтроллера.
Запись во Flash реализовал, отправку данных по Bluetooth также, а вот с PreferenceFragment что то не получается. Отдельное активити делать не хочется, подскажите как с помощью PreferenceFragment такое реализовать? Т.е. мне нужен сам код обработчика.
Вот мой код:
Код: Выделить всё
package com.example.test1;
import android.app.Activity;
import android.os.Bundle;
public class SetPreferenceActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content,
new PrefsFragment()).commit();
}
}
Re: Урок 71. Preferences как настройки приложения. Preferenc
Код onCreate в фрагменте:tolik777 писал(а):Т.е. мне нужен сам код обработчика.
Ключ переменной в XML: pref_pwmMax, EditTextPreference.
Код: Выделить всё
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
Preference pref = findPreference("pref_pwmMax");
pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
//TODO Ваш код
return true;
}
});
}
Re: Урок 71. Preferences как настройки приложения. Preferenc
Ага спасибо! Почти это... но подтолкнули в нужном направлении.