成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

BlackBerry Widget開發進階

移動開發
對于很多應用開發來說,widget開發過程中,有些需求是系統API所不能滿足的,還有一種應用場景是用戶需要把原有Java系統的代碼和功能與widget技術結合起來。

入門篇中,我們討論了如何應用Blackberry提供的Widget API來進行開發,從如下鏈接中http://www.blackberry.com/developers/docs/widgetapi/

 

 

可以找到BlackBerry能提供的所有Widget API列表。然后,對于很多應用開發來說,widget開發過程中,有些需求是系統API所不能滿足的,還有一種應用場景是用戶需要把原有Java系統的代碼和功能與widget技術結合起來。為了滿足這兩種開發和應用的需求,widget也提供了擴展機制,能夠滿足用戶的這種需求。本文就以一個擴充Widget的API來實現手機在javascript中調用widgetapi來實現手機震動功能,這個API在標準Widget API中是沒有實現的。

開發工具下載

在進行Widget開發之前,開發人員需要下載相應的開發工具,BlackBerry eclipse plug-in。本文使用的BlackBerry javaPlug-in for Eclipse版本為:v1.1.1(下載地址如下):

http://na.blackberry.com/eng/developers/browserdev/eclipse.jsp

這個plug-in的作用是給用戶開發Widget擴展API使用的。

開發具體步驟

步驟一

啟動Eclipse,File New Project,選擇BlackBerry Project,然后選擇Next:

 

 

步驟二

在接下來的對話框,輸入project的名字My Widget Extension,然后選擇Next

 

 

步驟三

接下來,會出現project的視圖,圖中可以看到系統已經添加了新的project,在project的src目錄下點擊右鍵,然后添加一個package名字為widgetpackge。

 

 

步驟四

在新建好的widgetpackage上點擊右鍵,添加一個新的class,名為Alert Sample,讓他繼承net.rim.device.api.script.Scriptable.

 

 

步驟五

添加好的class的基本框架如下所示:

 

 

這個class的作用是用來映射在Widget應用中的調用邏輯。當在JavaScript的代碼中通過”.”操作符號調用擴展的API時,get Fiel()便會被調用。這個函數在Alert Sample中的實現如下:當它被調用后,便會檢查當前device中vibrate功能是不是被支持。

 

 

步驟六

然后,添加一個vibrateclass類,讓他繼承自net.rim.device.api.script.ScriptableFunction.

 

 

步驟七

添加好的class的代碼框架如下所示:

 

 

在自動生成的代碼框架中加入如下代碼,這段代碼的作用是讓設備震動一段時間。

 

 

步驟八

接下來,我們將把AlertSample和vibrate兩個class連接起來。在AlertSample中加入如下代碼:

 

 

這些代碼的作用是讓Alert Sample能夠調用vibrate的實例,然后在Alert Sample的getField()中加入如下函數實現代碼

 

 

步驟九

***,添加Sample Extension class到項目中,創建class的時候確保public和final修飾符被選中,讓sample ext ension class繼承自net.rim.device.api.web.Widget Extension.

步驟十

生成好的class框架如下所示:

 

 

這里的幾個主要方法的作用描述如下:

get Feature List()–這個方式是為了給widget引擎提供我們新的widget擴成能提供的feature list列表,如基礎篇介紹,這里的feature就是widget開發過程中可以加入的access的資源。

load Feature()–這個方法是當widget使用相應的widget engine提供的feature時候,可以執行的一些任務,這個一般就是widget引擎加載進來我們extensionapi的入口點。

register()–這個方法提供一個入口插入點,擴充的widget程序可以自動執行一些對當前widget配置文件和瀏覽器的操作。

unloadFeatures()–這個是一個入口點,可以加入一些邏輯,如果需要做一些清理工作當widget退出出這個api調用的時候。

步驟十一

在上步生成的SampleExtension的getFeatureList中添加如下代碼:

 

 

在loadFeature中,添加如下代碼:

 

 

步驟十二

在完成widget擴充api的具體開發和定義工作之后,剩下的就是把widget發布到BlackBerry的widget平臺中,這一步是通過export相應的Java文件完成的。根據基礎篇里面的信息,我們需要把我們做好的java文件export到相應的widget sdk的目錄下。右鍵選擇項目,然后選擇Export

 

 

在出現的對話框中,選在general下的filesystem然后下一步:

 

 

不管是用戶使用Blackberry的widget sdk還是基于eclipse的web plug-in做widget開發發布,我們都需要把這里做出來的java文件export到相應widget sdk安裝目錄下的devicet emplates目錄下。在上圖中選擇Export之后,在出現的對話框中選中src目錄,確保源文件會被export出來。

 

 

這里的Todirectory,選擇為相應的開發機器上的widget sdk(或者web plug in-in for eclipse安裝好之后的plugins目下下的)安裝錄下的device_templates目錄。在完成了export之后,可以看到在blackberry的widgetsdk的package目錄下,會出現相應的source文件

 

 

步驟十三

出了發布source文件在widget平臺,我們還需要修改系統的API列表訪問,這樣才能***在widget中訪問調用到我們新添加的API。

 

 

修改其中的Widget Config Impl.java,加入如下黑體的內容

  1. pro tecte d W i d g etC on f i g I m p l() {  
  2.  
  3. _ cus to m Head er s = n e w Http H ead er s () ;  
  4.  
  5. _ n o tif icat io n s = n e w Has h tab l e() ;  
  6.  
  7. _ ac ce ss Lis t = n e w Has h tab le() ;  
  8.  
  9. _ f ea tu r eT ab le = n e w Ha sh tab l e() ;  
  10.  
  11. _ w id g etE x te ns io n s = n e w Vec tor() ;  
  12.  
  13. //s et d ef a u lt s s etVer sio n () ;  
  14.  
  15. _ w id g etE x te ns io ns .add Ele m e n t(  
  16.  
  17. n et.r i m .d e v ice. ap i. w eb .j s e.B lack B err y W id g etT oo lk it.g etIn s t an ce()) ;  
  18.  
  19. _w id ge tExte n sion s.a d d Eleme n t( n e w w id ge tpac k age .S am p leExte n sion () );  
  20.  
  21. }  

步驟十四

所有的這些設置做完之后,剩下來的就是要測試運行了,如開發入門中的方式我們可以添加一個新的widget。在你的計算機上創建一個c:\widget\alert目錄(也可以工作在別的目錄),在這個目錄中生成兩個index.html和config.xml文件,正如基礎篇介紹的那樣。

定義的index.html和config.xml如下所示:

  1. < head > 
  2.  
  3. < m et a nam e="v i ew por t " cont ent = " wi dt h= dev i ce -wi dt h; h ei ght = dev i ce- hei ght " / > 
  4.  
  5. < scri pt t y pe=" t ext/ J av aScri pt " > 
  6.  
  7. f uncti on v i br at eA l ert( ) {  
  8.  
  9. i f ( sa m pl e.al er t .vi br at eSuppo rt ed)  
  10.  
  11. {  
  12.  
  13. }  
  14.  
  15. el se  
  16.  
  17. }  
  18.  
  19. sa m pl e.al ert .v i br at e( 10 00) ;  
  20.  
  21. al ert( ' ext ensi on not support ed' ) ;  
  22.  
  23. < / scri pt > 
  24.  
  25. < / head > 
  26.  
  27. < body > 
  28.  
  29. < di v > 
  30.  
  31. < i nput t y pe=" subm i t " v a l ue=" A l ert " oncli ck="v i br at eA l ert() " /> 
  32.  
  33. < / di v > 
  34.  
  35. < / body > 
  36.  
  37. < / ht m l > 

Config.xml的內容如下:

  1. < ? xm l v er si on" 1.0" encodi ng" ut f- 8" ? > 
  2.  
  3. < wi dget xm l ns=" htt p:/ / ww w . w 3.or g/ ns/ wi dget s" xm l ns: r i m = " htt p: / / ww w .bl ackber r y .co m / ns/ w i dget s" v er si on" 1.0.0" > 
  4.  
  5. < nam e> A l er t W i dget < / nam e> 
  6.  
  7. < des cri pti on> 
  8.  
  9. Sam pl e wi dget t hat dem onst r at es how t o use  
  10.  
  11. t he A l er t A P I t o v i br at e t he Bla ck Berr y S m art phone  
  12.  
  13. < / des cri pti on> 
  14.  
  15. < aut hor hr ef = " htt p://w w w .r i m .co m / " 
  16.  
  17. r i m : cop y ri ght = " no cop y ri ght " 
  18.  
  19. em ail = " aut hor _nam e@aut hor dom ai n.com " > Com pany N am e ? A ut hor N a m e  
  20.  
  21. < / aut hor > 
  22.  
  23. < cont ent sr c = " i ndex.ht m l " / > 
  24.  
  25. < f eat ur e i d" sa m pl e" /> 
  26.  
  27. < /wi dget > 

在入門文檔中,我們是通過eclipse自動打包這兩個文件成cod的,這里我們也可以使用另外一種手工通過bbwp打包工具完成這一步,先zip然后生成cod。

首先把這兩個文件壓縮為一個zip包,名為alert.zip

然后執行如下命令

 

 

這里的bbwp.exe位于安裝好的widget sdk的目錄下面。在執行完上述命令后在命令行出可以看到如下輸出,***在zip同級目錄下會生成一個bin目錄,如果基礎篇介紹的,bin目錄下,我們可以發現***生成的cod文件。

 

 

驗證

完成這一步,就可以把模擬器自動啟動了.***在模擬器中或者真機上,就可以看到我們的widget的效果,如果上一篇基礎篇的介紹那樣,到這里,一個基于我們新的擴充的widget的開發API的新的widget的開發就完成了。點擊Alert按鈕,就可以體驗我們新添加的API能提供的功能了。

 

【編輯推薦】

  1. BlackBerry Java 開發環境搭建及插件安裝
  2. BlackBerry應用開發指南 監聽UI對象的改變
  3. BlackBerry應用開發者指南 創建客戶定制的UI組件
責任編輯:佚名 來源: BBturials
相關推薦

2011-05-03 15:13:23

BlackBerryWidget

2013-12-27 09:54:58

Android開發NDK

2010-12-23 09:11:17

讀寫Android文件

2012-02-07 10:05:40

jQuery MobijQuery Mobi

2011-08-17 16:23:31

iPhone開發UIViewContr

2010-05-22 16:57:09

BlackBerry開

2010-06-22 16:19:01

Black Berry

2011-08-17 16:29:12

iPhone開發UIButton

2021-01-20 08:16:06

異步Dotnet Core多路徑

2014-01-07 14:53:37

Android開發依賴注入Roboguice

2011-05-03 16:41:04

BlackBerry

2011-10-18 10:17:39

Android應用開發

2011-10-18 10:25:08

Android應用開發

2011-08-17 16:16:29

iPhone應用程序啟動過程

2011-08-17 16:12:20

iPhone應用程序

2010-07-13 09:02:19

Widget開發

2011-09-09 20:14:58

Android Wid

2010-08-20 13:47:11

BlackBerry應BlackBerry

2011-04-18 11:00:34

使用音頻BlackBerry

2010-07-22 15:22:58

BlackBerry開
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩成人av在线播放 | 九九精品在线 | 亚洲第一视频网 | 精品国偷自产在线 | www.久| 日韩欧美国产一区二区三区 | 九一视频在线播放 | 成人国产在线视频 | 国产一级免费视频 | av一级| 在线视频中文字幕 | 成人久久 | 成人福利网 | 国产精品美女一区二区 | 国内久久 | 亚洲福利av| 狠狠骚 | 男女羞羞视频在线观看 | 欧美精品一区二区在线观看 | 超碰天天| 亚洲一区二区免费视频 | 日韩在线视频一区 | 欧产日产国产精品国产 | 91看片官网| 日韩成人一区 | 久久精品成人 | 久久久久国产 | 成年人视频在线免费观看 | 国产欧美一区二区三区在线看 | 99精品一区二区 | 伊人国产精品 | 99久久99| 91精品久久久久久久久久 | 色网站在线 | 国产精品99精品久久免费 | 亚洲一区二区在线视频 | 欧美精品电影一区 | 精品二三区| 欧美成人a| 精品久久网 | 一级黄色片网址 |