本文和大家重点学习一下W3CWidget开发的配置文件,W3CWidget开发(以下简称Widget)定义一个由HTML、CSS和JaveScript等标准技术组成的Web应用程序,通常运行于浏览器之外,例如手机的Homescreen上。
W3CWidget开发的配置文件
W3CWidget开发(以下简称Widget)定义一个由HTML、CSS和JaveScript等标准技术组成的Web应用程序,通常运行于浏览器之外,例如手机的Homescreen上。凡是传统网页上能做的事,Widget都能做,而且不用每次从网上下载,极大的节省了手机上网的费用。当然,Widget也可以通过诸如Ajax等技术和网站实时交互。对程序开发者而言,Widget则提供了一个“编写一次,到处运行”的机会,而且传统的网页程序员也能够更加直接的参与本地应用的开发了!
根据标准,Widget被打包成后缀名位.wgt的ZIP包,其根目录下的config.xml文件则是其配置文件,要求文件名小写并以UTF-8进行编码。该文件中,仅有Widget元素及其xmlns属性是必须的,其他均为可选元素。下面是一个最基本的配置文件:
- <?xmlversionxmlversion="1.0"encoding="UTF-8"?>
- <WidgetxmlnsWidgetxmlns="http://www.w3.org/ns/Widgets"/>
- <?xmlversionxmlversion="1.0"encoding="UTF-8"?>
- <WidgetxmlnsWidgetxmlns="http://www.w3.org/ns/Widgets"/>
下面是对W3CWidget开发的配置文件中所有可能元素的一个简单介绍。
根元素widget
可以拥有name、description、author、license、icon、content、feature和preference八个可选子元素,支持的属性包括:
id:符合IRI标准的Widget标识。
version:版本号,例如1.0Beta。
viewmode:描述了Widget支持的视觉展现,包括application、floating(默认模式)、fullscreen、mini和all(允许所有模式)。
height和width:在floating模式下有效,在application模式下可由Widget引擎决定。
author元素
描述Widget作者,最多出现一次,支持的属性包括:
href:作者首页或其他相关的IRI标识。
email:作者email地址。
content元素
描述Widget被运行时打开的文件,支持的属性包括:
src:文件路径。
type:文件的MIME类型。
encoding:文件编码格式,默认为UTF-8。
description元素
描述Widget,支持的属性包括:
xml:lang:用于本地化。
feature元素
描述Widget在运行时可能用到的API等组件,可以拥有param元素,支持的属性包括:
name:该feature的IRI标识。
required:该feature是否是运行该Widget所必须的。
icon元素
描述Widget使用的图标,支持的属性包括:
src:图标文件路径。
width和height:图标大小。
license元素
描述该Widget使用的协议,支持的属性包括:
xml:lang:用于本地化。
href:相关协议的链接。
name元素
在诸如应用程序菜单等处显示的Widget名称,支持的属性包括:
xml:lang:用于本地化。
short:名字简写,用于在空间受限的场合下显示。
param元素
用于定义feature所需的参数,支持的属性包括:
name:参数名。
value:参数值。
preference元素
描述Widget初始化时的偏好,支持的属性包括:
name:偏好名称。
value:偏好值。
readonly:该偏好是否只读。
下面是W3CWidget开发中一个合法config.xml文件的例子:
- <?xmlversionxmlversion="1.0"encoding="UTF-8"?>
- <WidgetxmlnsWidgetxmlns="http://www.w3.org/ns/Widgets"
- id="http://example.com/sampleWidget"
- version="1.0Beta"
- height="800"
- width="400"
- viewmodes="floating">
- <nameshortnameshort="Sample1.0">
- SampleW3CWidget
- </name>
- <featurenamefeaturename="http://example.com/sampleFeature">
- <paramnameparamname="paramName"value="paramValue"/>
- </feature>
- <preferencenamepreferencename="preferenceName"
- value="preferenceValue"
- readonly="false"/>
- <description>
- AdescriptionoftheWidget.
- </description>
- <authorhrefauthorhref="http://example.com/"
- email="author@example.com">
- Author'sname
- </author>
- <iconsrciconsrc="icons/example.png"mce_src="icons/example.png"/>
- <contentsrccontentsrc="customStartPage.html"mce_src="customStartPage.html"/>
- <license>
- ThelicenseusedbythisWidget
- </license>
- </Widget>
【编辑推荐】
- AndroidWidget开发系列解读
- AndroidWidget开发详解
- 全面认识WebWidget开发
- DashBoard的Widget开发指南
- 解析AndroidWidget开发中如何构建Activity类