Махинации с Preferences

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Махинации с Preferences

Сообщение IgNa » 27 ноя 2013, 15:41

Реально ли сделать такую вещь ?

У меня есть две практически одинаковые активити, а то и три.
У которых совершенно одинаковые сохранения в Preferences.
Одинаковые ключи так сказать.

И вот хотелось бы чтобы две-три разные активити подгружали себе одинаковые значения.
Кстати не очень понятно почему этого не происходит, ключи то одинаковые.
Можно ли сделать общий Preferences для нескольких активити ?
Последний раз редактировалось IgNa 27 ноя 2013, 15:44, всего редактировалось 1 раз.
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Махинации с Preferences

Сообщение Foenix » 27 ноя 2013, 15:43

экстрасенсы! все сюда!
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Махинации с Preferences

Сообщение IgNa » 27 ноя 2013, 15:52

Foenix, я самоучка)

я просто обрисую ситуацию
На одной активити двадцать картинок, которые можно перемещать и их позиция сохраняется в Preferences и грузится при загрузке активити
на второй, и на третьей... тоже самое

Но не смотрят на то что код сохранения и загрузки в(из) Preferences у них одинаковый
значения для каждой активити получаются индивидуальные

А вот мне потребовалось что бы для трех активити значения были одинаковые
Я не знаю как устроены Preferences, но если каждая активити создает свой файл типа Preferences
То может можно сделать так чтобы вторая и третья активити взяли данные из преференсес для первой


пс я использую SharedPreferences
sPref = getPreferences(MODE_PRIVATE);
toplin = sPref.getInt("toplin",0 );
leftlin = sPref.getInt("leftlin",0 );
такого плана
Последний раз редактировалось IgNa 27 ноя 2013, 15:59, всего редактировалось 1 раз.
Изображение

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Махинации с Preferences

Сообщение trew » 27 ноя 2013, 15:57

IgNa писал(а):я самоучка)
Preferences- это настройки всего приложения, а не отдельной активити.
Т.е. из любой активити можно сохранить настройки и достать их.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Махинации с Preferences

Сообщение IgNa » 27 ноя 2013, 16:05

я этот урок смотрел, не помню чтобы там было про то как добиться чтобы разные активити получали одинаковые значения из Preferences.
А на данный момент, при абсолютно одинаковом коде ( касательно сохранения и загрузки в Preferences) на одной и другой активити -
значения у каждой получаются индивидуальные.
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Махинации с Preferences

Сообщение Foenix » 27 ноя 2013, 16:08

MODE_PRIVATE - ошибочно использовать
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Махинации с Preferences

Сообщение IgNa » 27 ноя 2013, 16:50

В уроке написано:
- используете getPreferences, если работаете с данными для текущего Activity и не хотите выдумывать имя файла.

- используете getSharedPreferences, если сохраняете, например, данные - общие для нескольких Activity и сами выбираете имя файла для сохранения.

Вот наверное в этом и дело, а не в MODE_PRIVATE
Завтра опробую.. спс
Изображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Махинации с Preferences

Сообщение KamiSempai » 27 ноя 2013, 21:23

Немного проясню ситуацию
viewtopic.php?f=34&t=706&hilit=getSharedPreferences
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить