Урок 118. Виджеты. Конфигурационный экран. Обновление

Обсуждение уроков
Pipstar
Сообщения: 3
Зарегистрирован: 10 авг 2014, 10:11

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение Pipstar » 25 фев 2015, 16:38

Сначала создается класс mywidget, потом в intent автоматически записываются данные (такие, как ид созданного виджета),и вызвается класс конфигуратора, который мы указали в манифесте. и там мы считываем данные из intent. я правильно порядок действий описал? это вопрос первый.
второй вопрос: только через интент можно получить ид созданного виджета? просто как-то смущает, что в классе виджета мы не создаем интент с указанием на класс кинфигуратора... и можно ли еще каким-то образом получить ид, кроме интента?

Nikolay
Сообщения: 6
Зарегистрирован: 30 мар 2015, 17:04

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение Nikolay » 13 апр 2015, 13:44

В описание урока есть ссылка на файл R.layout.widget и на ресурсы R.id.tv, однако описания самих этих файлов и ресурсов нет,
пожалуйста помогите найти или написать их.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение doter.ua » 13 апр 2015, 13:58

Nikolay писал(а):В описание урока есть ссылка на файл R.layout.widget и на ресурсы R.id.tv, однако описания самих этих файлов и ресурсов нет,
пожалуйста помогите найти или написать их.
Потому, что уроки нужно читать с самого начала. Там четко написано, что часть кода проходилась в предыдущем уроке, посмотри widget.xml в 117.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Nikolay
Сообщения: 6
Зарегистрирован: 30 мар 2015, 17:04

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение Nikolay » 13 апр 2015, 14:58

Тогда у меня проблема в другом, не открывается конфигурационный экран, т.е. идут логи
D/myLogs﹕ onEnabled
D/myLogs﹕ onUpdate [11]
D/myLogs﹕ updateWidget 11
и все никаких сообщений об ошибке и тд, пробовал как на эмуляторе так и реальном устройстве. Думал дело в самом виджите.

манифест добавил следующие

Код: Выделить всё

        <receiver
            android:name=".MyWidget"
            android:icon="@android:drawable/star_big_on"
            android:label="@string/widget_name"
            android:configure="ru.startandroid.develop.p1181_customwidget.ConfigActivity">
            <intent-filter>
                <action
                    android:name="android.appwidget.action.APPWIDGET_UPDATE">
                </action>
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_metadata">
            </meta-data>
        </receiver>
Люди добрые посоветуйте кто может, как добиться появления конфигурационного экрана.

takky
Сообщения: 3
Зарегистрирован: 02 сен 2015, 22:39

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение takky » 14 ноя 2015, 14:57

Nikolay писал(а):Тогда у меня проблема в другом, не открывается конфигурационный экран, т.е. идут логи
D/myLogs﹕ onEnabled
D/myLogs﹕ onUpdate [11]
D/myLogs﹕ updateWidget 11
и все никаких сообщений об ошибке и тд, пробовал как на эмуляторе так и реальном устройстве. Думал дело в самом виджите.

манифест добавил следующие

Код: Выделить всё

        <receiver
            android:name=".MyWidget"
            android:icon="@android:drawable/star_big_on"
            android:label="@string/widget_name"
            android:configure="ru.startandroid.develop.p1181_customwidget.ConfigActivity">
            <intent-filter>
                <action
                    android:name="android.appwidget.action.APPWIDGET_UPDATE">
                </action>
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_metadata">
            </meta-data>
        </receiver>
Люди добрые посоветуйте кто может, как добиться появления конфигурационного экрана.
У меня та же проблема. А если я строку android:configure="ru.startandroid.develop.p1181_customwidget.ConfigActivity" вставляю в appwidget.provider, который прописан в meta-data, то виджет вообще не устанавливается, и тоже никаких других логов не появляется. Если решили проблему, отпишитесь пожалуйста

takky
Сообщения: 3
Зарегистрирован: 02 сен 2015, 22:39

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение takky » 14 ноя 2015, 16:03

Nikolay писал(а):Тогда у меня проблема в другом, не открывается конфигурационный экран, т.е. идут логи
D/myLogs﹕ onEnabled
D/myLogs﹕ onUpdate [11]
D/myLogs﹕ updateWidget 11
и все никаких сообщений об ошибке и тд, пробовал как на эмуляторе так и реальном устройстве. Думал дело в самом виджите.

манифест добавил следующие

Код: Выделить всё

        <receiver
            android:name=".MyWidget"
            android:icon="@android:drawable/star_big_on"
            android:label="@string/widget_name"
            android:configure="ru.startandroid.develop.p1181_customwidget.ConfigActivity">
            <intent-filter>
                <action
                    android:name="android.appwidget.action.APPWIDGET_UPDATE">
                </action>
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_metadata">
            </meta-data>
        </receiver>
Люди добрые посоветуйте кто может, как добиться появления конфигурационного экрана.
Я нашел! В манифесте кроме активити самого виджета надо прописать еще и активити конфигурационного экрана

Код: Выделить всё

<activity android:name=".install_screen"                                                                                                                                                       android:theme="@android:style/Theme.Dialog">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
            </intent-filter>
        </activity>
И все будет ок)

BersDeveloper
Сообщения: 1
Зарегистрирован: 21 янв 2018, 22:09

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение BersDeveloper » 21 янв 2018, 22:14

Добрый день!
Помогите пожалуйста, у меня все компилится, но при перетягивании виджета на рабочий стол смартфона, он не фиксируется и выдает следующие логи. (см.вложение)
На реальном устройстве не вижу виджета в списке виджетов, хотя при компиляции ошибок нет.
Заранее спасибо!
Вложения
логи.jpg
логи.jpg (56.21 КБ) 3696 просмотров

Explo
Сообщения: 7
Зарегистрирован: 03 дек 2015, 17:05

Re: Урок 118. Виджеты. Конфигурационный экран. Обновление

Сообщение Explo » 01 окт 2020, 14:35

Добрый день. Сделал все как в уроке. Но после удаления из памяти конфигурационой активности все бродкаст ресиверы перестают работать:
Т.е у меня в приложении есть: сам виджет, ресиверы которые отправляют уведомления в сервис из которого идет интент на обновление виджета. И все работает. Но когда я нажима на кнопку на виджете и вызываю конфигурационную активити, то пока она висит в памяти все хорошо, но как очищу память все перестает работать.

Ответить