Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Имитационное мо... 60099
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

Пользователей: 13,113
новичок: SaRdOr0493
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных - словарь терминов на Delphi + Пояснительная записка
Моделирование работы участка термической обработки шестерен на GPSS + По...
Информационная система - продуктовый магазин на Turbo Pascal (База данны...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Работа со списками в удаленных представлениях
В был описан существующий набор классов в SDK, который поддерживает виджеты домашнего экрана. Основными такими классами являются AppWidgetProvider, AppWidgetManager, RemoteViews и активность, которая может использоваться для конфигурирования AppWidgetProvider с помощью параметров инициализации.
Давайте кратко рассмотрим ключевую идею функционирования виджетов домашнего экрана (ее знание должно несколько упростить освоение дальнейших материалов). Класс AppWidgetProvider — это широковещательный приемник, который вызывается однократно на основе интервала, заданного в конфигурационном файле. Затем AppWidgetProvider загружает экземпляр RemoteViews, основанный на файле компоновки. После этого объект RemoteViews передается AppWidgetManager для отображения на домашнем экране.
Дополнительно можно сообщить Android, что имеется активность, которая должна вызываться перед первым помещением виджета на домашний экран. Это позволит конфигурационной активности устанавливать параметры инициализации для виджета.
Для удаленных представлений виджета можно также настроить события onClick, чтобы на их основе запускать намерения. Эти намерения затем могут обращаться к любым необходимым компонентам и отправлять сообщения широковещательному приемнику AppWidgetProvider.
С высокоуровневой точки зрения все основные сведения о виджетах домашнего экрана перечислены. Остальное — это механизмы и вариации каждой из описанных базовых идей.
Для поддержки удаленных списковых представлений в Android./. появились следующие новые классы.
RemoteViewsFactory. Этот класс позволяет наполнить удаленное списковое представление в основном подобно тому, как адаптеры списков наполняют обычные списковые представления (см. главу ). Класс является тонкой оболочкой вокруг адаптера спискового представления и предназначен для асинхронной доставки отдельных удаленных представлений удаленному списковому представлению. Таким образом, основная работа этого класса заключается в предоставлении удаленного представления для каждого элемента в списке. Эта фабрика загружает компоновку для каждого элемента и возвращает ее, заполненную данными. Очевидно, что эта компоновка может содержать в качестве дочерних элементов только удаленные представления.
RemoteViewsService. Этот класс является службой, которая отвечает за возврат экземпляра RemoteViewsFactory, указанного идентификатором спискового представления в файле компоновки. За привязку службы удаленных представлений к удаленному списковому представлению отвечает AppWidgetProvider. Это делается за счет присоединения намерения, которому известно, как обращаться к данной службе, к идентификатору удаленного спискового представления. Служба позволяет расширить время жизни процесса, содержащего AppWidgetProvider. В противном случае, когда широковещательный приемник возвращает управление, процесс может быть отозван. Взаимосвязь между широковещательными приемниками и службами, которые должны выполняться за пределами времени жизни широковещательного приемника, объяснялась в
Для поддержки удаленных списковых представлений были добавлены следующие новые методы.
RemoteViews.setPendingIntentTemplate. Этот метод позволяет установить шаблон ожидающих намерений для удаленного спискового представления, чтобы реагировать на события щелчков на элементах списка. Шаблоны будут более подробно рассматриваться позже.
RemoteViews.setOnClickFillIntent. Этот метод устанавливает отдельные элементы удаленного спискового представления и работает очень похоже на предыдущий метод.
Указанные два дополнительных метода вместе позволят реагировать на щелчки, выполняемые на удаленных списковых представлениях. Эти два метода спроектированы так, чтобы создавать как можно меньше ожидающих намерений.
Далее в упомянутые выше классы и методы будут описаны более детально. С учетом этих новых средств ниже перечень основных шагов для работы со списковым представлением в виджете домашнего экрана.
Подготовьте удаленную компоновку для виджета. Создайте подходящую удаленную компоновку со списковым представлением внутри. Удаленная компоновка — это обычная компоновка, содержащая только разрешенные удаленные представления. Это ничем не отличается от того, что можно делать с любым виджетом домашнего экрана.
Загрузите удаленную компоновку. В методе onUpdate поставщика виджета загрузите составное представление удаленной компоновки, построенной на предыдущем шаге, http://www.radianse.ru/catalog/gold/perstni/ как удаленное представление. Здесь также нет никаких отличий.
Настройте RemoteViewsService. Найдите в компоновке списковое представление по его идентификатору и установите для этого идентификатора удаленного спискового представления намерение, которое будет обращаться к службе удаленного спискового представления. Настройте RemoteViewsFactory. Служба удаленного спискового представления из шага должна возвращать экземпляр RemoteViewsFactory списка, который знает, как наполнять удаленное списковое представление.
Настройте события щелчко. В качестве части настройки представления в AppWidgetProvider установите также шаблон ожидающего намерения onClick, чтобы можно было реагировать на это намерение. Однако также понадобится соответствующим образом настроить отдельные щелчки, используя RemoteViewsFactory для каждого представления в списке. Причина в том, что элементы в удаленном списковом представлении наполняются из фабрики списковых представлений.
Обеспечьте реакцию на события щелчко. Что-то должно реагировать на события onClick, установленные для удаленных списковых представлений. Приемником этих событий можно сделать AppWidgetProvider. Вам потребуется подготовить широковещательный приемник для получения и реагирования на события onClick, которые поступают от удаленных представлений.
Давайте рассмотрим все эти шаги на примерах кода.
Опубликовал Kest February 14 2015 17:04:43 · 0 Комментариев · 2891 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Шаблон для новост...
Page Promoter 7.7...
Java в примерах -...
Игра "Астероиды" ...
Язык программиров...
Proeffectimage
PBEditPack
Calendar
Delphi 2005 для W...
Последние загруж...
Исправление проц...
Базы данных в Инт...
Работа с базами д...
Введение в станда...
Иллюстрированный ...
Пользовательская...
Графика в проекта...
База каталогов ( ...
RSS Feeds
Защита от спама ...

Топ загрузок
Приложение Клие... 100519
Delphi 7 Enterp... 91130
Converter AMR<-... 20098
GPSS World Stud... 15145
Borland C++Buil... 12883
Borland Delphi ... 9074
Turbo Pascal fo... 7105
Калькулятор [Ис... 5158
Visual Studio 2... 5028
FreeSMS v1.3.1 3557
Случайные статьи
Анализ продвижения...
Файл R.java
6.4. Задачи
Использование Comp...
Работа с WDDX в РНР
Оптимизация QueryI...
Указатель "уровень...
Обеспечение требуе...
Глава 12. Страт...
Далее находится об...
Основная работа ок...
Режим перевода кад...
8.5. Фиксация ошибок
Разделение списка ...
ПортисточникаАдрес...
метод DelOrders
Протокол MEGACO
Методы-операции де...
Прямой метод решен...
Типизация перемен...
Реализация протоко...
Обеспечьте достато...
Запись и чтение ко...
Работа с веб-серве...
Фотокниги
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?