Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
#1

Как при обновлении виджета получить настройки и применить их - Программирование Android

03.11.2012, 16:06. Просмотров 921. Ответов 2
Метки нет (Все метки)

Доброго времени.
Создаю виджет, который отображает кол-во дней от некой начальной даты. (просто так для изучения).
При первом создании виджета на рабочем столе планируется открыть окно настроек где будет указана эта начальная дата. По кнопке Применить данные сохраняются в файл xml используя android.content.SharedPreferences.Editor;
В самом виджете в методе onUpdate хочу эти настройки считать ну и собственно получить разницу в днях и вывести их на виджет.
Проблема: не могу инициализировать объект класса SharedPreferences:
mSettings = getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
eclipse пишет следующее: "The method getSharedPreferences(String, int) is undefined for the type WidgetActivity". Что мне написать, что для класса AppWidgetProvider этот метод стал известным.
Может я вообще все не правильно задумал и это делается как то иначе?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 16:06     Как при обновлении виджета получить настройки и применить их
Посмотрите здесь:

Как сделать, чтобы при обновлении приложения в Google Play сохранялись пользовательские настройки и данные - Программирование Android
Как сделать, чтобы при обновлении приложения в Google Play сохранялись пользовательские настройки и данные

Как сохранить настройки в одном Activity и получить в другом? - Программирование Android
Ипользовал эту статью http://developer.alexanderklimov.ru/android/preference.php но не могу забрать настройки в другом Активити. final...

Ошибка при создании виджета - Программирование Android
Доброго времени суток! При создании виджета всегда вылетает одна и та же ошибка, подскажите пожалуйста в чем проблема: MainActivity ...

Открытие диалога при удалении виджета с рабочего стола - Программирование Android
Как открыть диалог при клике по виджету я умею, нашел пример. Там делается так Intent intent = new Intent(context, InputDialog.class);...

Сложности с сертификатом при обновлении приложения - Программирование Android
Здравствуйте, вообщем писал приложение еще в Android Studio 1.не помню номер, файл Key файл ключа остался, опубликовал приложение в Google...

Прокрутка ListView в начало при обновлении EditText - Программирование Android
Всем привет! Проблема следующая - имеется ListView с адаптером. Элементы ListView - кастомные вьюшки с EditText. Если список очень большой,...

Определение и назначение положения скролла при обновлении ListView - Программирование Android
Нужно запомнить положение скролла с последующим присвоении полученного значения при обновлении ListView. При чем запоминать нужно не по...

Как применить собственную клавиатуру? - Программирование Android
Всем привет) Я сделал свою клавиатуру но не подумал об этом( как прошить его к девайсу?? прогуглил ничо толком не нашел,,должен же быть...

Как применить созданную тему к проекту - Программирование Android
Я сделал тему на сайте http://android-holo-colors.com, скачал, скопировал папки в каталог res , а применить не получается. Моя тема...

Как получить высоту текста при рисовании? - Программирование Android
Как получить высоту текста при рисовании? Ширину получил, но не высоту! Установил размер символов в 30 и не знаю сколько строк...

При изменении настройки в приложении выскакивает ошибка - Программирование Android
private SharedPreferences prefs; public void prefMethod() { this.mSettings =...

Как при выборе пункта меню получить значение элемента формы? - Программирование Android
Здравствуйте. Подскажите как получить измененное значение из editText фрагмента при выборе пункта меню? При выборе пункта меню я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 17:06     Как при обновлении виджета получить настройки и применить их #2
сам виджеты никогда не делал, но вот что нагуглил

getSharedPreferences(), should you choose to use it, is only available on subclasses of Context, like Activity or Service. AppWidgetProvider is a subclass of BroadcastReceiver, which is not a Context.

That being said, if you are going to use the PreferenceScreen system, or if you are not certain that it's gotta gotta gotta be getSharedPreferences(), I would use PreferenceManager.getDefaultSharedPreferences() instead. Those are the SharedPreferences that PreferenceScreen/PreferenceActivity will use.
здесь советуют использовать статический метод PreferenceManager.getDefaultSharedPreferences()

Добавлено через 1 минуту
еще такое


You should have been passed a context in widget's onUpdate() method so you can call context.getSharedPreferences().
в AppWidgetProvider есть методы, например onUpdate, получающие context, вот к нему вызывать context.getSharedPreferences()
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
03.11.2012, 20:39  [ТС]     Как при обновлении виджета получить настройки и применить их #3
Воспользовался последней подсказкой. Все получилось. Спасибо.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru