Рассмотрим подробнее манифест виджета, который представляет собой XML-файл, детально описывающий характеристики виджета для Windows Mobile. Манифест позволяет системе понять при загрузке, что нужно делать с виджетом. Вото почему, правильное описание манифеста исключительно важно.

Виджеты в Windows Mobile 6.5 базируются на стандарте W3C Widgets 1.0: Packaging and Configuration (Windows Mobile 6.5 поддерживает версию от 22 декабря 2008). Самое главное –  файл манифеста должен называться config.xml. Формально манифест виджета может быть пустым, и при этом что-то даже будет установлено, поскольку все элементы файла config.xml не являются обязательными. В начале статьи был приведен пример простого манифеста. Давайте создадим более сложный вариант:


<?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. Рассмотрим парочку атрибутов.

Элемент 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. Ниже перечислены наиболее важные свойства, с помощью которых можно получать нужную информацию из манифеста:

Также вы можете скачать видеоролик на эту тему (на англ.), где показаны основные приемы программирования виджетов.

Виджеты для Samsung

Обратите внимание, что Samsung предлагает использовать виджеты для своих телефонов под Windows Mobile 6.1, не дожидаясь версии 6.5. Учитывая тот факт, что виджеты от Samsung также используют стандартные спецификации, вы можете почерпнуть оттуда полезную информацию. Подробнее о разработке виджетов для телефонов Samsung можно прочитать на странице Samsung Mobile Innovator - Samsung Developer program for Symbian, Windows Mobile and Java

Перевод: Александр Климов

Дополнительные сведения

Как известно, если Вы создаете виджет, то его можно поставить на эмулятор, но нельзя поставить на физическое устройство.

Как выяснилось, решение это проблемы описано в 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"

Источники:
Getting started with widgets on Windows Mobile 6.5
Начинаем работать с виджетами в Windows Mobile 6.5
Разработка виджетов в Windows Mobile 6.5
Русский блог Windows Mobile : Анатомия виджетов: манифест

Реклама