自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JIL Widget開發(fā)入門教程

移動開發(fā)
Widget開發(fā)有很多值得我們學(xué)習(xí)的地方,這里向大家簡單介紹一下JILWidget開發(fā)入門知識,希望本文的介紹能讓你有所收獲。

本文和大家重點(diǎn)學(xué)習(xí)一下JIL Widget開發(fā)入門的一些知識,基于window下開發(fā)JIL Widge只需要兩個(gè)工具:一個(gè)是Java虛擬機(jī),另一個(gè)是jilSDK開發(fā)工具,所以說jil的運(yùn)行環(huán)境非常簡單。

JIL Widget開發(fā)入門

2009年7月我有幸參加了中國移動通信集團(tuán)廣東有限公司舉辦的JILWidge開發(fā)培訓(xùn)會。感覺Jil這項(xiàng)技術(shù)很不錯(cuò),所以將自己的使用體會與大家分享學(xué)習(xí)。

一、JIL概述

JIL是由中國移動、軟銀和沃達(dá)豐于2008年4月24日共同創(chuàng)建的,中文名稱為“聯(lián)合創(chuàng)新實(shí)驗(yàn)室”(JointInnovationLab,JIL).中移動想將Jil Widget通過BAE安裝到各操作系統(tǒng)的手機(jī)上,現(xiàn)在大概只支持Ophone、WindowMobile、Symbian這三個(gè)平臺。

BAE(BrowserBasedApplicationEngine)是面向移動互聯(lián)網(wǎng)的,跨移動終端操作系統(tǒng)平臺的應(yīng)用運(yùn)行環(huán)境,感覺就是一個(gè)Widget的引擎,有點(diǎn)類似java虛擬機(jī)那樣去解釋應(yīng)用程序。他們會為各種手機(jī)平臺開發(fā)不同的BAE然后在上面運(yùn)行JILWidget(感覺BAE就如同是安裝在不同手機(jī)中的瀏覽器)。BAE以后會預(yù)裝在新推出的移動手機(jī)上,老用戶就要通過移動網(wǎng)站下載了。據(jù)移動透路MMarket會在8月10日后的某一天開始正式運(yùn)行,他們會在MMarket上放上***批的Jilwidget。

二、JILWidget開發(fā)環(huán)境的安裝

基于window下開發(fā)JILWidge只需要兩個(gè)工具:一個(gè)是Java虛擬機(jī),另一個(gè)是jilSDK開發(fā)工具,所以說jil的運(yùn)行環(huán)境非常簡單。

如下圖2-1的兩個(gè)安裝包文件:

 

(一)Java的安裝

Java虛擬機(jī)需要用1.5以上的版本,具體的安裝步驟如下:

1.雙擊jdk-1_5_0_17-windows-i586-p.exe彈出許可協(xié)議,點(diǎn)擊接受,然后按下一步。

 

2.選擇安裝目錄后,點(diǎn)擊下一步并開始安裝直到顯示安裝完成。

 

 

 

 

 

3.Java環(huán)境的測試

(1)在window開始菜單中點(diǎn)擊運(yùn)行,在運(yùn)行中輸入cmd然后打開命令行窗口。
(2)在命令行中輸入java并按回車鍵,如果能顯示如下圖2-6信息就表示java環(huán)境運(yùn)行正常了。

 

 #p#

(二)JilSDK的安裝

1.雙擊jil_sdk_setup.exe工具包彈出許可協(xié)議后點(diǎn)擊接受,然后按下一步

 

2.選擇安裝目錄后點(diǎn)擊下一步,直到安裝完成為止。

 

 

 

(三)JilSDK的運(yùn)行

1.JilSDK安裝完成后會在桌面上生成”JILSDK”的快捷方式如下圖2-10,Jil的SDK其實(shí)就是內(nèi)置在Eclipse中的一個(gè)插件。

 

2.雙擊快捷方式后會進(jìn)入啟動界面

 

3.***次訪問時(shí)會提示您選擇工作空間,點(diǎn)擊Ok后會進(jìn)行開發(fā)工具的主界面

 

 

 

 #p#

(四)JILWidget開發(fā)的模擬器的啟動

1.配置環(huán)境變量。設(shè)置步驟如下

對著”我的電腦”點(diǎn)擊右鍵->選擇屬性->選擇高級->選擇環(huán)境變量,然后編輯系統(tǒng)變量中的path變量,在變量值中輸入您的SDKTools目錄的路徑,如下圖2-13。輸入完后按確定保存。

 

2.創(chuàng)建sdcard鏡像文件

在命令行窗口中輸入如圖2-14的命令后會在對應(yīng)目錄中生成一個(gè)如圖2-15的鏡像文件。

 

上圖命令的意思是創(chuàng)建一個(gè)50M的sdcard,Sdcard的大小可以按您的實(shí)際需求改變。

3.啟動模擬器

(1)在文本編輯器中輸入圖2-16的Jil模擬器啟動命令,并保存為如圖2-17的bat文件。

 

 

 

(2)雙擊MyOphone.bat文件起動模擬器,***次啟動模擬器的時(shí)候需要比較長的時(shí)間。

 

 #p#

三、簡單JILWidget開發(fā)的應(yīng)用----漂亮的液晶時(shí)鐘

(一)開發(fā)如上圖3-1的液晶時(shí)鐘時(shí)需要做以下準(zhǔn)備

 

1.首先準(zhǔn)備好13幅液晶數(shù)字的圖片,它們的顯示效果和名稱如圖3-2所示

 

2.編寫好的一段液晶時(shí)鐘的JavaScript代碼

 

  1. viewplaincopytoclipboardprint?  
  2. varNumSrc="images/c0.gif";  
  3. for(vari=0;i<=9;i++){  
  4. eval("varc"+i+"=newImage();c"+i+".src=NumSrc.replace('c0.gif','c'+i+'.gif');");  
  5. }  
  6. document.write('<tablebordertableborder="0"cellspacing="0"bgcolor=blackheight=1><tr>');  
  7. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lch1"></td>');  
  8. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lch2"></td>');  
  9. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","colon.gif")+'></td>');  
  10. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcm1"></td>');  
  11. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcm2"></td>');  
  12. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","colon.gif")+'></td>');  
  13. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcs1"></td>');  
  14. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcs2"></td>');  
  15. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","cam.gif")+'id="lcapm"></td>');  
  16. document.write('</tr></table>');  
  17.  
  18. functiontimerun(){  
  19. now=newDate();  
  20. myhour=now.getHours();  
  21. myminute=now.getMinutes();  
  22. mysecond=now.getSeconds();  
  23.  
  24. //判斷是上午還是下午:  
  25. if(myhour<12)lcapm.src=NumSrc.replace("c0.gif","cam.gif");  
  26. elselcapm.src=NumSrc.replace("c0.gif","cpm.gif");  
  27. if(myhour>12)myhour-=12;  
  28.  
  29. //改變小時(shí)數(shù)圖片:  
  30. lch1.src=eval("c"+Math.floor(myhour/10)+".src");  
  31. lch2.src=eval("c"+myhour%10+".src");  
  32.  
  33. //改變分鐘數(shù)圖片:  
  34. lcm1.src=eval("c"+Math.floor(myminute/10)+".src");  
  35. lcm2.src=eval("c"+myminute%10+".src");  
  36.  
  37. //改變秒鐘數(shù)圖片:  
  38. lcs1.src=eval("c"+Math.floor(mysecond/10)+".src");  
  39. lcs2.src=eval("c"+mysecond%10+".src");  
  40.  
  41. //循環(huán)運(yùn)行本函數(shù):  
  42. setTimeout("timerun()",500);  
  43. }  
  44. varNumSrc="images/c0.gif";  
  45. for(vari=0;i<=9;i++){  
  46. eval("varc"+i+"=newImage();c"+i+".src=NumSrc.replace('c0.gif','c'+i+'.gif');");  
  47. }  
  48. document.write('<tablebordertableborder="0"cellspacing="0"bgcolor=blackheight=1><tr>');  
  49. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lch1"></td>');  
  50. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lch2"></td>');  
  51. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","colon.gif")+'></td>');  
  52. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcm1"></td>');  
  53. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcm2"></td>');  
  54. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","colon.gif")+'></td>');  
  55. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcs1"></td>');  
  56. document.write('<td><imgsrcimgsrc='+NumSrc+'id="lcs2"></td>');  
  57. document.write('<td><imgsrcimgsrc='+NumSrc.replace("c0.gif","cam.gif")+'id="lcapm"></td>');  
  58. document.write('</tr></table>');  
  59.  
  60. functiontimerun(){  
  61. now=newDate();  
  62. myhour=now.getHours();  
  63. myminute=now.getMinutes();  
  64. mysecond=now.getSeconds();  
  65.  
  66. //判斷是上午還是下午:  
  67. if(myhour<12)lcapm.src=NumSrc.replace("c0.gif","cam.gif");  
  68. elselcapm.src=NumSrc.replace("c0.gif","cpm.gif");  
  69. if(myhour>12)myhour-=12;  
  70.  
  71. //改變小時(shí)數(shù)圖片:  
  72. lch1.src=eval("c"+Math.floor(myhour/10)+".src");  
  73. lch2.src=eval("c"+myhour%10+".src");  
  74.  
  75. //改變分鐘數(shù)圖片:  
  76. lcm1.src=eval("c"+Math.floor(myminute/10)+".src");  
  77. lcm2.src=eval("c"+myminute%10+".src");  
  78.  
  79. //改變秒鐘數(shù)圖片:  
  80. lcs1.src=eval("c"+Math.floor(mysecond/10)+".src");  
  81. lcs2.src=eval("c"+mysecond%10+".src");  
  82.  
  83. //循環(huán)運(yùn)行本函數(shù):  
  84. setTimeout("timerun()",500);  
  85. }  
  86.  

 

準(zhǔn)備好以上文件后,我們就可以進(jìn)行widget的開發(fā)了。#p#

(二)在JilSDK中制作漂亮的液晶時(shí)鐘

1.在eclipse中新建一個(gè)WidgetProject

 

 

2.在彈出的NewWidgetProject窗口中輸入ProjectName如圖3-5中的Clock,并點(diǎn)擊finish.

 

3.按finish后系統(tǒng)會生成如3-6的公程文件

◆config.xml應(yīng)用程序的配置文件
◆Default.png默認(rèn)的背景圖
◆Icon.png默認(rèn)的應(yīng)用程序圖標(biāo)
◆Clock.htmlwidgetUI界面
◆Clock.jswidget程序?qū)崿F(xiàn)代碼
◆Clock.csswidget樣式代碼
◆bin目錄會生成一個(gè)系統(tǒng)編譯后的wgt文件,如Clock.wgt

 

4.新建images目錄并將數(shù)字圖片文件拷進(jìn)該目錄。

 

5.在Clock.js文件中輸入已準(zhǔn)備好的代碼

 

6.在Clock.html文件對應(yīng)的位置中輸入<script>timerun();</script>啟動代碼,如圖3-8所示。

 

7.對剛才輸入的兩個(gè)文件進(jìn)行保存,這時(shí)會在bin中產(chǎn)生一個(gè)Clock.wgt文件,這個(gè)就是我們***個(gè)生成widget應(yīng)用了。

#p#

三)在JILWidget開發(fā)的模擬器中安裝及運(yùn)行液晶時(shí)鐘

1.進(jìn)入bin目錄并將Clock.wgt文件拷進(jìn)模擬器的sdcard中。(在模擬器啟動的狀態(tài)下進(jìn)行)
在啟動的命令窗口中輸入:adbpushClock.wgt/sdcard按回車后出現(xiàn)successfully提示。如圖3-10所示

 


2.點(diǎn)擊模擬器的FileManager圖標(biāo),然后進(jìn)入SdCard,這時(shí)會看到我們剛才拷進(jìn)模擬器的Clock.wgt文件。如下圖所示

 

 


3.點(diǎn)擊clock.wgt會彈出安裝提示按yes鍵后直到安裝完成。如下圖3-12和圖3-13所示

 


4.點(diǎn)擊模擬器的WidgetManager圖標(biāo)后會進(jìn)入installed程序列表,點(diǎn)擊后就會產(chǎn)生圖3-1所示的液晶時(shí)鐘界面了。

 

#p#
三、JILWidget開發(fā)的應(yīng)用程序的發(fā)布

開發(fā)好的Widget是需上傳到MMarket上并要通過驗(yàn)證和簽名后才能正式發(fā)布的。
在MMarket上的軟件獲得的利潤會和移動3:7分成(移動3開發(fā)者7)。


四、總結(jié)

Jilwidget開發(fā)優(yōu)點(diǎn)和缺點(diǎn)

1.優(yōu)點(diǎn)

(1)開發(fā)簡單
(2)可以在BAE的基礎(chǔ)上跨越不同的手機(jī)平臺(基本做一次開發(fā)就可以用了)
(3)可將現(xiàn)有的javascript適當(dāng)修改一下就可以應(yīng)用到widget上面(并支持jQuery等)

2.缺點(diǎn)

(1)安全性相對較差
(2)模擬器啟動慢,操作系統(tǒng)也相對慢
(3)開發(fā)的程序有局限性.
(4)對視頻音頻暫時(shí)支持不是太好

總的來說JilWidget是一個(gè)非常適合現(xiàn)有web開發(fā)人員去轉(zhuǎn)型編寫手機(jī)端應(yīng)用,不像開發(fā)Symbian、WindowMobile等手機(jī)應(yīng)用那樣有很高的門檻。jilsdk是一個(gè)很輕量級的手機(jī)端應(yīng)用開發(fā)工具,能使我們輕而易舉地踏進(jìn)火爆的3G手機(jī)時(shí)代。祝愿未來的Ophone會給我們帶來更多的驚喜。

五、開發(fā)工具參考網(wǎng)址

(1)http://www.jil.org/#SDKSSDK開發(fā)包下載
(2)http://www.jil.org/#DOCUMENTS文檔下載
(3)http://www.jil.org/#CODE開發(fā)源代碼例子
(4)http://www.sun.comJava虛擬機(jī)

【編輯推薦】

  1. AndroidWidget開發(fā)系列解讀
  2. AndroidWidget開發(fā)詳解
  3. 全面認(rèn)識WebWidget開發(fā)
  4. DashBoard的Widget開發(fā)指南
  5. 解析AndroidWidget開發(fā)中如何構(gòu)建Activity類

 

 

責(zé)任編輯:佚名 來源: ophonesdn.com
相關(guān)推薦

2011-07-21 10:29:18

iPhone 開發(fā)

2011-05-03 15:13:23

BlackBerryWidget

2011-07-29 11:28:58

iPhone開發(fā)

2010-08-03 13:06:15

Flex Builde

2013-08-29 14:12:52

Storm分布式實(shí)時(shí)計(jì)算

2011-07-11 09:58:52

2009-07-08 15:12:48

Java Servle

2014-05-26 15:35:55

Web組件Web Compone

2010-05-21 12:50:45

Subversion快

2010-07-27 15:53:15

2010-08-03 14:37:30

Flex入門教程

2012-05-10 08:29:46

XcodeiOSPhoneGap

2013-08-29 14:28:09

StormHadoop

2024-11-12 15:46:37

2011-09-07 13:00:36

2010-07-20 16:19:54

Perl

2018-03-22 14:59:13

Docker入門容器

2011-09-02 10:59:10

jQuery Mobi

2013-06-24 13:38:34

HTML5 DataList

2010-06-18 16:56:50

UML建模語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號