BlackBerry Widget 开发中级篇

作者: 王志刚

 

 

背景知识

 

 

在入 , 了如 Bl ack berr y 提供的 W i dget A P I 来进 如下

http://w w w.b l ackbe r r y.c o m /de v e l ope r s / doc s/widgetapi/

 

 

 

可以 Bl ack Berr y 能提供的 W i dget A P I wi dget 开发 系统 A P I 足的 还有 需要把原 j av a 系统 能与 wi dg et 技术结 足这 求, wi dget 提供 够满 足用需求 本文 就以 wi dget ap i 来实 j av as cri pt 中调用 wi dget   ap i 来实 api 标准 wi dg et   api 是没 实现


的。

 

 

开发工具下载

 

 

W i dget , 发人 发工 ,Bl ack Berr y ecli pse pl ug- i n 本文使用 Bl ack Berr y j a va P l ug- i n f or Ecli pse 本为 : v 1.1.1 ( 地址 ):

http://na.blackber r y.c o m /eng/de v elopers / browserde v /ec lips e . j sp

这个   p l u g- i n 的作用   wi dget   api 使 用的。

 

 

 

开发具体步骤

 

 

步骤一

 

 

启动 Ecli pse , F il e à N ew à P r oj ect ,   Bl ack Berr y P r oj ect ,   N ext :


 

 

 

 

 

 

步骤二

 

 

在接,输 pr oj ect My W i dget Exte nsi on,   N ext


 

 

 

 

步骤三

 

 

接下 出现 pr oj ect 视图 已经了新 pr oj ect pr oj ect src

目录   pack age   wi dget packge


 

 

 

 

步骤四

 

 

在新 好的   wi dg et packag e   新的   cl ass 名为   A l ert Sam pl e

net .ri m .de v i ce.api .scri pt .Scri pt abl e.


 

 

 

 

 

 

步骤五

 

 

添加 cl as s 框架 如下 示:

 

 

 

 

这个 cl as s 射在 wi dget 逻辑 当在 j av as cri pt 码中 ”.” 操作扩展 api 时, get F i el() 便会被调用。 这个函数 A l ert Sam pl e 的实 当它 便 当前 d ev i ce v i br at e 是不 持。


 

 

 

 

步骤六

 

 

然后加一 v i br at e cl as s 类,继承 net .ri m . dev i ce.api .scri pt .Scri pt abl e F uncti on.


 

 

 

 

 

 

步骤七

 

 

 

添加 cl as s 框架 如下 示:

 

 

在自 加入 的作 时间。


 

 

 

 

 

 

步骤八

 

 

 

 

接下 A l ert S a m pl e v i br at e 两个 cl as s 连接 来。 A l ert Sam pl e 如下 代码:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这些用是 A l er t S am pl e 能够 v i br at e 的实 后在 A l ert Sam pl e get F i el d()

中加 代码


 

 

 

 

 

 

步骤九

 

 

 

 

最后,添 Sam pl eExt ens i on cl as s cl as s pu bli c fi nal 符被 选中 sa m pl eext ensi oncl as s net .ri m .dev i ce.api .w eb.W i dget Exte nsi on.


 

 

 

 

 

步骤十

 

 

 

生成 cl as s 下所 示:


 

 

这里 用描

g et Feat u r eL i s t( )     式是为 widg et   提供我 新的 widg e t 能提供的

feature lis t 篇介 ,这 fea ture widg et 发过 中可 加入 ac cess

的资源。

l oadFe at u r e ( )   widg et 使用 wi dg et e ng in e 供的 fea ture 时候 可以执 行的一 任务 这个一般 widg et   加载 来我们 e xt ensi o n api 的入 口点。

r eg i st er ( )     方法提供 一个入 插入 ,扩 widg et 可以 动执 一些对

widg et 文件 浏览 的操作。

unl oad Fea t ur es ( ) 这个 一个入 点, 以加入一 些逻辑 如果 要做 清理工

widg et 退 出这 ap i 的时候。

 

步骤十一

 

 

 

在上 S am pl eExt ensi on get F eat ur e L i s t  加如


 

 

 

l oadF eat ur e 中, 下代

 

 

 

 

 

步骤十二

 

 

wi dge api 体开之后 剩下 wi dget Bl ac kberr y

wi dget 平台中一步 是通过 ex por t 相应的 j av a 文件 里面 我们 j av a 文件 ex por t 应的 wi d get   sdk 键选 择项 ,然 Ex por t


 

 

在出,选 gener al fil e s y st e m   然后下 步:

 

 

不管 使用 Bl ack berr y wi dget sdk 基于 ec li pse w eb pl ug- i n wi dget 开发 布, 我们 j av a 文件 exp or t wi dget sdk 下的 de v i ce t e m pl at es 目录 选择 Exp or t sr c exp or t 出来。


 

 

 

T o dir ect or y ,选择为相 w i dget sdk 或者 w e b pl ugi n - i n f or ecli pse

安装 pl u gi ns 下的 dev i ce_t em pl at es 目录。 e xpor t 可以看到 bl ackberr y wi dget sdk p ackag e 目录 下, so ur ce 文件

 

 


步骤十三

 

 

出了发布 s our ce 件在 wi dget 平台 改系统的 A P I 访问 这样

  wi dget 访 们新添加   A P I

 

 

 

 

修改其中 W id g etC o n f ig I m p l .j av a ,加 如下 内容

pro tecte d W i d g etC on f i g I m p l() {

_ cus to m Head er s = n e w Http H ead er s () ;

_ n o tif icat io n s = n e w Has h tab l e() ;

_ ac ce ss Lis t = n e w Has h tab le() ;

_ f ea tu r eT ab le = n e w Ha sh tab l e() ;

_ w id g etE x te ns io n s = n e w Vec tor() ;

//s et d ef a u lt s s etVer sio n () ;

_ w id g etE x te ns io ns .add Ele m e n t(

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()) ;

_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 () );

}

 

 

步骤十四

 

 

所有 行了 式我 添加 一个 wi dget 你的 计算 c:/wi dge t/ al er t 目录( 工作 别的 在这 i nd ex.ht m l   confi g.xm l 文件,正

  i ndex. ht m l   confi g.xm l 如下所

< ht m l >

< head >

< 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 " / >


< scri pt t y pe=" t ext/ J av aScri pt " >

f uncti on v i br at eA l ert( ) {

i f ( sa m pl e.al er t .vi br at eSuppo rt ed)

{


 

 

}

el se

 

 

}


sa m pl e.al ert .v i br at e( 10 00) ;

 

 

 

al ert( ' ext ensi on not support ed' ) ;


< / scri pt >

< / head >

< body >

< di v >

< i nput t y pe=" subm i t " v a l ue=" A l ert " oncli ck="v i br at eA l ert() " />

< / di v >

< / body >

< / ht m l >

 

 

 

C onfi g.xm l 下:

< ? xm l v er si on= " 1.0" encodi ng= " ut f- 8" ? >

< 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" >

 

 

< nam e> A l er t W i dget < / nam e>

< des cri pti on>

Sam pl e wi dget t hat dem onst r at es how t o use

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

< / des cri pti on>

 

 

< aut hor hr ef = " htt p://w w w .r i m .co m / "

r i m : cop y ri ght = " no cop y ri ght "

em ail = " aut hor _nam e@aut hor dom ai n.com " > Com pany N am e ? A ut hor N a m e

< / aut hor >

 

 

< cont ent sr c = " i ndex.ht m l " / >

< f eat ur e i d= " sa m pl e" />

 

 

< /wi dget >

 

 

在入 ecli pse 两个 文件成 c od 我们 也可 使 外一工通 bbw p 包工 zi p 生成 cod


首先 一个 zi p 名为 al ert .zi p

然后

 

 

bbw p. exe 好的 wi dget   s dk 面。 在命 以看 后在 z i p 生成 bi n bi n 目录 下, 成的 c od 件。

 

 

 

 

 

 

验证

 

 

, . ,   wi dget   的效果,如果上 篇基础篇的介 那样, 这里,一个基 我们新 扩充的   wi dget A P I 新的 wi dget 的开 成了 A l e r t  按钮 新添 A P I 能提

 

 

 

 

 
 

 

 

BlackBerry SDK下载

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值