Windows Mobile 6.5 Widgets開發(fā)初體驗(yàn)
本文和大家重點(diǎn)學(xué)習(xí)一下WindowsMobile6.5Widgets開發(fā)的概念,Widgets開發(fā)是近來非常流行的一項(xiàng)技術(shù),用于顯示一些常用信息,比如天氣、股票、新聞和體育等。googleAndroid和Symbian上已經(jīng)有了類似的技術(shù),可以說,Widgets開發(fā)是很好地結(jié)合了移動設(shè)備與互聯(lián)網(wǎng)的技術(shù)。
WindowsMobile6.5Widgets開發(fā)初體驗(yàn)
Windowsmobile6.5的DTK終于發(fā)布了,其中最吸引人的是兩個功能:Widgets和GestureAPI。Widgets開發(fā)是近來非常流行的一項(xiàng)技術(shù),用于顯示一些常用信息,比如天氣、股票、新聞和體育等。googleAndroid和Symbian上已經(jīng)有了類似的技術(shù),可以說,Widgets開發(fā)是很好地結(jié)合了移動設(shè)備與互聯(lián)網(wǎng)的技術(shù)。雖然Widgets開發(fā)簡單,但很有可能改變移動互聯(lián)網(wǎng)的未來格局。目前WindowsMobile6.5的Widgets是基于W3C的Widgets草案,支持2008年12月22日草案,鏈接在http://www.w3.org/TR/2008/WD-widgets-20081222/。
WindowsMobile6.5Widgets開發(fā)環(huán)境
好了,接下來,我們就要看一下,如何為WindowsMobile6.5開發(fā)一個Widgets控件。首先,我們需要下載WindowsMobile6.5的DTK,下載鏈接為:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e
WindowsMobile6.5的DTK需要與WindowsMobile6SDK配合使用,WindowsMobile6SDK的下載地址:
http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en
由于很多Widgets都需要聯(lián)網(wǎng),所以測試環(huán)境也需要ActiveSync的支持。Vista應(yīng)該使用WindowsMobileDeviceCenter6.1,下載地址:
http://www.microsoft.com/windowsmobile/en-us/help/synchronize/device-center-download.mspx
編寫Widgets
接下來,我們就可以來開發(fā)一個Widgets了。首先創(chuàng)建一個WidgetDemo的文件夾,創(chuàng)建一個叫做widget.htm的文件,將下面的HTML代碼拷貝到文件中:
- <html><head><title>CoolWidget!title>head><body>I'macoolwindowsmobile6.5widget<formmethodformmethod="get"action="http://www.google.cn/custom"target="google_window">
- <tablebgcolortablebgcolor="#ffffff"><tr><tdnowraptdnowrap="nowrap"valign="top"align="left"height="32"><ahrefahref="http://www.google.com/">
- <imgsrcimgsrc="http://www.google.com/logos/Logo_25wht.gif"border="0"alt="Google"align="middle">
- img>a><labelforlabelfor="sbi"style="display:none">????????label>tr><tr><inputtypeinputtype="text"name="q"size="31"maxlength="150"value=""id="sbi">
- input><labelforlabelfor="sbb"style="display:none">??????label><inputtypeinputtype="submit"name="sa"value="??"id="sbb">
- input><inputtypeinputtype="hidden"name="client"value="pub-9289651901062754">input><inputtypeinputtype="hidden"name="forid"value="1">
- input><inputtypeinputtype="hidden"name="ie"value="UTF-8">input><inputtypeinputtype="hidden"name="oe"value="UTF-8">input><inputtypeinputtype="hidden"name="cof"value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;
- AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1">
這個Widget就是調(diào)用Google的搜索頁面。原來的WidgetDemo沒有Google搜索的代碼,我從網(wǎng)上找了一個示例加了進(jìn)去。接下來,創(chuàng)建一個叫做config.xml的文件,將下列代碼拷貝到文件中:
- xmlversion="1.0"encoding="utf-8"?><widgetversionwidgetversion="1.0"xmlns="http://www.w3.org/ns/widgets"id=""><name>Myfirstwidgetname>
- <contentsrccontentsrc="widget.htm"type="text/html"/><accessnetworkaccessnetwork="true"/><iconsrciconsrc="icon.png"/>
- <description>Thisismyfirstwidget,itwon'tmakealotofmoneyonthemarketplacebutatleastiscute!description>widget>
這是一個描述性的XML文件,結(jié)構(gòu)非常清晰,不需要多做解釋了。注意content,icon和accessnetwork三個節(jié)點(diǎn)。Content的src就是我們剛編寫的widget.htm,允許Widget訪問網(wǎng)絡(luò),icon則是顯示在WindowsMobile開始菜單里的圖標(biāo)。
現(xiàn)在有了三個文件,我們使用WinZip將其壓縮成一個ZIP文件。特別需要指出的是,我們不能壓縮這三個文件所在的文件夾,必須選中所有文件之后進(jìn)行壓縮。然后我們將WidgetDemo.zip的擴(kuò)展名改為WidgetDemo.wgt。
部署Widget
到這里,Widget開發(fā)就完成了。通過ActiveSync或者共享目錄,將Widget拷貝到WindowsMobile6.5的模擬器中。
我們使用FileExplorer來找到這個Widget文件,點(diǎn)擊之后,會提示是否安裝并運(yùn)行這個Widget。
安裝Widget開發(fā)系統(tǒng)之后,會自動運(yùn)行,Google的圖標(biāo)來源于網(wǎng)絡(luò),所以可能會顯示慢一些。如果Google圖標(biāo)沒有顯示出來,則說明網(wǎng)絡(luò)連接不通:
輸入關(guān)鍵字,點(diǎn)擊button,Widget開發(fā)系統(tǒng)會自動啟動IEMobile,顯示搜索結(jié)果。
在使用時,我們可以在開始菜單里找到相應(yīng)的圖標(biāo),可以打開Widget。還需要說明的是,如何卸載這個Widget。
在開始菜單-Setting–System-RemovePrograms里,可以看到我們的Widget,與卸載普通的應(yīng)用程序沒有區(qū)別。
我們的Widget被安裝在\ProgramFiles\Widgets\User\7的目錄里,目錄的序號與安裝順序有關(guān),比如1里就是內(nèi)置的LiveSearch。
總結(jié)
寫到這里,Widget開發(fā)就完成了,怎么樣?簡單吧。Widget開發(fā)的簡單性,正是它未來可能締造輝煌的主要優(yōu)勢。任何熟悉HTML和JavaScript的人都可以開發(fā)出功能豐富的Widget,而Widget又可以像普通應(yīng)用程序一樣使用。
雖然不像Palm的WebOS那樣具有顛覆性,但是依托于目前的技術(shù),才能獲得大多數(shù)開發(fā)者的支持。現(xiàn)在只有WindowsMobile6.5支持Widget,但其他移動設(shè)備是否有可能支持Widget呢?一切皆有可能。
總之,一句話,大有可為!其實(shí)HTML和JavaScript并不是我的強(qiáng)項(xiàng),下周還是給大家說說GestureAPI吧。
參考資料
GettingstartedwithwidgetsonWindowsMobile6.5
http://blogs.msdn.com/windowsmobile/archive/2009/06/04/getting-started-with-widgets-on-windows-mobile-6-5.aspx
DevelopingWidgetsforWindowsMobile6.5
http://msdn.microsoft.com/en-us/library/dd721906.aspx
WindowsMobile6.5Widget系列文章
http://www.shangducms.com/post/Windows-Mobile-Widget.aspx
【編輯推薦】
- AndroidWidget開發(fā)系列解讀
- AndroidWidget開發(fā)詳解
- 全面認(rèn)識WebWidget開發(fā)
- DashBoard的Widget開發(fā)指南
- 解析AndroidWidget開發(fā)中如何構(gòu)建Activity類