Страница 9 из 11

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 01 июн 2014, 19:24
n0tb0dy
когда исправил 36 строку вот на такую

sPref = getSharedPreferences(Context.MODE_PRIVATE);

то стала вылазить другая ошибка в эклипсе

Method getSharedPreferences(int) is not defined for type MySaveData

как сие побороть?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 01 июн 2014, 19:46
Foenix
в конструктор класса, по-моему, нужно передать контекст актвити или приложения. Все равно он при работе с преференсами по-любому нужен.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 01 июн 2014, 20:22
n0tb0dy
спасибо большое, а как это сделать?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 01 июн 2014, 20:49
n0tb0dy
усе вроде сам разобрался все работает!

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 17 июн 2014, 07:31
n0tb0dy
Preferences-данные сохраняются в файлы и вы можете посмотреть их. Для этого в Eclipse откройте меню Window > Show View > Other и выберите Android > File Explorer. Отобразилась файловая система эмулятора. Открываем data/data/ru.startandroid.develop.p0331sharedpreferences/shared_prefs и видим там файл MainActivity.xml.

у меня почему то каталог data вообще пустой и там ни чего нет

где еще можно поискать файлик с настройками?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 17 июн 2014, 07:48
Viewer
n0tb0dy писал(а):
у меня почему то каталог data вообще пустой и там ни чего нет
Если открываете этот каталог не на эмуляторе, а на реальном устройстве, без наличия root ничего не увидите.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 17 июн 2014, 14:37
n0tb0dy
спасибо, но телефон у меня рутованный и на нем нет доступа, а на эмуляторе да видно эту папочку и файлики в ней

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 17 июн 2014, 14:58
Foenix
иногда и на рутованном есть доступ :) Все зависит от ПО производителя.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 17 июн 2014, 15:27
Viewer
n0tb0dy писал(а):спасибо, но телефон у меня рутованный и на нем нет доступа, а на эмуляторе да видно эту папочку и файлики в ней
Если у вас телефон с рут, тогда меняйте права доступа вручную на директорию data и файлы "песочницы" вашего приложения и ddms их увидит. Глобально запускать adbd с правами рут на телефоне без танцев с бубном не получится, с рут правами можно запустить adb shell и работать с файлами вручную через неё, но для ddms они всеравно будут недоступны. Можно еще как-то временно (до следующей перезагрузки) перезапускать adbd с правами рут, но это тоже скорее всего не на всех устройствах возможно.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 05 авг 2014, 18:24
FRIST_008
Прошу поправить урок с методом saveText и вместо commit() использовать apply(), так как в большинстве случаев это безопаснее для многопоточных приложений когда мы работаем с возвращаемыми значениями этих методов.

Gradle сборки выводят на commit() предупреждение на опасность!

Прошу заметить, что эта функция добавлена в 9-ом API, урок написан на 10-ом, поэтому я подумал что он должен соответствовать своему минимальному стандарту.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 28 сен 2014, 13:50
Юрий2711
Подскажите пожалуйста можно ли сохранить в SharedPreferences не только текст а например сразу целиком LinearLayout с объектами? и как это можно сделать?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 01 окт 2014, 00:49
Paket236
Возник вопрос, хотя он больше по Java, чем по Android API.

В методе saveText() есть строчка sPref = getPreferences(MODE_PRIVATE); , где sPref - ссылка типа SharedPreferences. Т.к. SharedPreferences - интерфейс, то ссылка типа SharedPreferences должна ссылаться на объект класса, реализующего данный интерфейс. Смотрим, что же возвращает getPreferences(MODE_PRIVATE). А возвращает он, в конечном итоге, ссылку типа SharedPreferences (это происходит в классе Context). А где же создаётся объект, на который указывает эта ссылка? Какой класс у этого объекта? Из java-файлов я этого не понял (видимо, сказывается недостаток знаний). Помогите разобраться. :)

P.S: нашёл некий android\app\SharedPreferencesImpl.java, в котором все методы интерфейса SharedPreferences реализованы. Но не понял, как он тут задействуется.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 16 ноя 2014, 12:12
Юрий2711
https://yadi.sk/i/3RKahOW1cjeixИзображение

Ребята, подскажите пожалуйста, как можно сохранить из одного активити 2 разных файла?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 16 ноя 2014, 15:47
doter.ua
Т.к. SharedPreferences - интерфейс, то ссылка типа SharedPreferences должна ссылаться на объект класса, реализующего данный интерфейс.

Скорее всего это дело рук Activity и Сontext.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 08 дек 2014, 23:23
pka
Немного не по теме: подскажите пожалуйста, файлового обозревателя подключенного устройства в Android Studio нет? Что-то не могу найти.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 08 дек 2014, 23:33
doter.ua
ADMonitor для AVirtualDevice или обычная передача файлов для рил девайса.

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 09 дек 2014, 16:05
Foenix
pka писал(а):Немного не по теме: подскажите пожалуйста, файлового обозревателя подключенного устройства в Android Studio нет? Что-то не могу найти.
кнопка наверху с зелененьким андроидом Android device monitor

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 23 фев 2015, 09:42
amikulich
damager82 писал(а):
btx писал(а): Это не удачное решение, данные следует сохранять в onPause, так как onPause будет обязательно вызван в приложении, а onDestroy не всегда, таким образом можно попросту потерять данные.
Да, имеет смысл в уроке уточнить, что я использую onDestroy только для примера.
Спасибо!
Да-да, уточните, пожалуйста, а еще лучше - скорректируйте пример, потому что до сих пор старый код. Я уже наступил на эти грабли. Перенос сохранения из OnDestroy в OnPause решил проблему.
P.S. За уроки спасибо!

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 24 мар 2015, 20:25
Евгений Суханов
Ребят помогите пожалуйста, как сохранить объект в файл, а затем загрузить его (в другом активити)?

Re: Урок 33. Хранение данных. Preferences.

Добавлено: 19 май 2015, 16:45
Sergiy_GT
Здраствуйте! Есть ворпос: каким образом можно из одного Activity передать значение boolean в другое Activity? К примеру: boolean playPause = false; А во втором Activity его прочитаь и изминить значение boolean на переданный? Если можно пример кода. Зарание благодарю.