W3C Widget開發(fā)的配置文件解讀
本文和大家重點學習一下W3CWidget開發(fā)的配置文件,W3CWidget開發(fā)(以下簡稱Widget)定義一個由HTML、CSS和JaveScript等標準技術組成的Web應用程序,通常運行于瀏覽器之外,例如手機的Homescreen上。
W3CWidget開發(fā)的配置文件
W3CWidget開發(fā)(以下簡稱Widget)定義一個由HTML、CSS和JaveScript等標準技術組成的Web應用程序,通常運行于瀏覽器之外,例如手機的Homescreen上。凡是傳統(tǒng)網(wǎng)頁上能做的事,Widget都能做,而且不用每次從網(wǎng)上下載,極大的節(jié)省了手機上網(wǎng)的費用。當然,Widget也可以通過諸如Ajax等技術和網(wǎng)站實時交互。對程序開發(fā)者而言,Widget則提供了一個“編寫一次,到處運行”的機會,而且傳統(tǒng)的網(wǎng)頁程序員也能夠更加直接的參與本地應用的開發(fā)了!
根據(jù)標準,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開發(fā)的配置文件中所有可能元素的一個簡單介紹。
根元素widget
可以擁有name、description、author、license、icon、content、feature和preference八個可選子元素,支持的屬性包括:
id:符合IRI標準的Widget標識。
version:版本號,例如1.0Beta。
viewmode:描述了Widget支持的視覺展現(xiàn),包括application、floating(默認模式)、fullscreen、mini和all(允許所有模式)。
height和width:在floating模式下有效,在application模式下可由Widget引擎決定。
author元素
描述Widget作者,最多出現(xiàn)一次,支持的屬性包括:
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使用的協(xié)議,支持的屬性包括:
xml:lang:用于本地化。
href:相關協(xié)議的鏈接。
name元素
在諸如應用程序菜單等處顯示的Widget名稱,支持的屬性包括:
xml:lang:用于本地化。
short:名字簡寫,用于在空間受限的場合下顯示。
param元素
用于定義feature所需的參數(shù),支持的屬性包括:
name:參數(shù)名。
value:參數(shù)值。
preference元素
描述Widget初始化時的偏好,支持的屬性包括:
name:偏好名稱。
value:偏好值。
readonly:該偏好是否只讀。
下面是W3CWidget開發(fā)中一個合法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開發(fā)系列解讀
- AndroidWidget開發(fā)詳解
- 全面認識WebWidget開發(fā)
- DashBoard的Widget開發(fā)指南
- 解析AndroidWidget開發(fā)中如何構建Activity類