Рассмотрим подробнее манифест виджета, который представляет собой XML-файл, детально описывающий характеристики виджета для Windows Mobile. Манифест позволяет системе понять при загрузке, что нужно делать с виджетом. Вото почему, правильное описание манифеста исключительно важно.
Виджеты в Windows Mobile 6.5 базируются на стандарте
<?xml version="1.0" encoding="utf-8" ?>
<widget version="1.0"
xmlns="http://www.w3.org/ns/widgets"
id="http://yoursite.com/YourUniqueWidgetID">
<name>Мой первый виджет</name>
<content src="widget.htm" type="text/html" />
<access network="true" />
<icon src="icon.png"/>
<icon src="icon.ico"/>
<author href="http://developer.alexanderklimov.ru"
email="developer@alexanderklimov.ru">Александр Климов</author>
<description>Это наш первый виджет,
у нас все получится!</description>
<license>
Copyright (c) 2009 Meow Corp.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND...
</license>
</widget>
Элемент widget
<widget> - родительский элемент для всех остальных элементов конфигурации. Он может быть определен только один раз. Данный элемент может содержать множество атрибутов, полное описание которых можно найти в документации на сайте MSDN. Рассмотрим парочку атрибутов.
- version="1.0" - Этот атрибут задает номер версии виджета и используется при установке нового виджета с тем же самым id, для проверки – следует ли разрешить обновление приложения или нет.
- id="http://yourSite.com/YourUniqueWidgetID" - важный атрибут, содержащий уникальный идентификатор виджета, который используется фреймворком для идентификации установленных виджетов. Значением атрибута должен быть корректный URL, однако, этот URL не обязательно должен быть работающим.
Элемент content
Поговорим о элементе, который очень важен – это <content src="widget.htm" type="text/html" />. Он сообщает системе, какой исходный файл следует загрузить для запуска виджета. Несмотря на то, что в атрибуте type указан MIME-тип, в Windows Mobile 6.5 поддерживается только тип "text/html"
Элемент icon
Следующая интересная группа дочерних элементов – это <icon src="icon.png"/>, позволяющая задать один или несколько значков для виджета. Однако существует несколько ограничений, о которых создателям виджетов следует знать. Windows Mobile Professional поддерживает значки в формате PNG и JPG, но, Windows Mobile Standard поддерживает значки только в формате ICO. Поэтому, чтобы виджет нормально выглядел на обеих платформах, необходимо включить значки во всех форматах, но первыми указать файл PNG или JPG.
Элемент access
<access network="true" /> является необязательным элементом, но если вы хотите получить доступ к ресурсам сети, элемент должен быть определен, и атрибуту network должно быть присвоено значение "true". В противном случае, элемент можно пропустить, но имейте в виду, что доступа к сотовой сети у виджета не будет, и к звонкам, соответственно, тоже.
Доступ к манифесту из виджета
Вы можете программно обращаться к данным манифеста из самого виджета, используя API метаданных виджета через объект javascript widget. Ниже перечислены наиболее важные свойства, с помощью которых можно получать нужную информацию из манифеста:
- widget.version
- widget.identifier
- widget.name
- widget.description
- widget.authorEmail
- widget.authorName
- widget.authorURL
- widget.height
- widget.width
- widget.locale
Также вы можете
Виджеты для Samsung
Обратите внимание, что Samsung предлагает использовать виджеты для
своих телефонов под Windows Mobile 6.1, не дожидаясь версии 6.5.
Учитывая тот факт, что виджеты от Samsung также используют стандартные
спецификации, вы можете почерпнуть оттуда полезную информацию. Подробнее
о разработке виджетов для телефонов Samsung можно прочитать на странице
Перевод: Александр Климов
Дополнительные сведения
Как известно, если Вы создаете виджет, то его можно поставить на эмулятор, но нельзя поставить на физическое устройство.
Как выяснилось, решение это проблемы описано в MSDN.
http://msdn.microsoft.com/en-us/library/dd721906.aspx#DeployingtheWidget
Deploying the Widget
The current version of Windows Mobile widgets supports two deployment modes: SkyMarket and sideload deployment. SkyMarket is an online application store intended to be a one-stop shop for purchasing Windows Mobile applications.
Developers can use sidelong deployment from the desktop development workstation. To do this, the developer copies the widget deployment file to the device and then runs the widget file on the device. This deployment method works out of the box for the emulator image, but for actual devices the developer must add the following registry keys to the registry of the device.
[HKEY_CLASSES_ROOT\riapp] "EditFlags"=dword:00010000 [HKEY_CLASSES_ROOT\riapp\Shell\Open\Command] @="wmwidgetinstaller.exe %1"
Источники:
Разработка виджетов в Windows Mobile 6.5
Русский блог Windows Mobile : Анатомия виджетов: манифест
Реклама