MIDP與Doja的比較
1-1 聲音重放
Doja1.5 |
Use AudioPresenter, MediaSound Classes. |
MIDP1.0 |
不支持 |
MIDP2.0 |
Use Player interface and Manager Class |
注:在Doja1.5中,不能同時播放多個音樂文件.
1-2 背景燈光,振動
Doja1.5 |
Use PhoneSystem.setAttribute() |
MIDP1.0 |
不支持 |
MIDP2.0 |
Use Display.vibrate(), Display.flashBacklight() |
注:Doja中開/關(guān)蓋,也是通過PhoneSystem.setAttribute()來檢測.
1-3按鍵檢測
Doja1.5 |
通過Canvas.processEvent()函數(shù)響應(yīng),Canvas.getKeypadState()獲得鍵值 |
MIDP1.0 |
Canvas.key****()函數(shù)響應(yīng),Canvas.getKeyState()獲得鍵值 |
MIDP2.0 |
同MIDP1.0 |
1-4 功能鍵
Doja1.5 |
只能定義左,右兩個功能鍵.可以通過Frame.setSoftLabel()來獲得label |
MIDP1.0 |
可以定義多個Command,通過addCommand添加到 |
MIDP2.0 |
同MIDP1.0 |
注:Doja中所有的按鍵響應(yīng)都是通過Canvas.processEvent()函數(shù)來響應(yīng)
1-5 翻轉(zhuǎn)
Doja1.5 |
不支持 |
MIDP1.0 |
不支持 |
MIDP2.0 |
Use the Sprite class. |
注:雖然不支持翻轉(zhuǎn),但Doja1.5支持透明gif圖片.
1-6 setClip()
Doja1.5 |
不支持 |
MIDP1.0 |
Use Graphics.clipRect(), Graphics.setClip(). |
MIDP2.0 |
同MIDP1.0 |
注:由于Doja1.5不支持setClip,所以需要把所有的tileset創(chuàng)建成多個Image對象.可以通過美術(shù)先切割圖片,然后再把切割后的圖片加載進(jìn)內(nèi)存,但這樣消耗內(nèi)存大,索引起來也麻煩.在Roulette中,我們采用了AuroraGT工具,把一張tileset生成一個bsprite文件,通過bsprite文件在內(nèi)存中動態(tài)創(chuàng)建gif圖片.
1-7 Color
Doja1.5 |
在設(shè)置顏色值時需要是getColorOfRGB()返回值.否則在真機(jī)上會拋異常 |
MIDP1.0 |
無 |
MIDP2.0 |
同MIDP1.0 |
1-8 Off-screen Image
Doja1.5 |
不支持 |
MIDP1.0 |
Imgae.createImage() |
MIDP2.0 |
同MIDP1.0 |
注:因此如果需要創(chuàng)建一張Image,只能把圖片數(shù)據(jù)放在草稿板中,通過MediaManager.getImage()獲得.
1-9 數(shù)據(jù)存儲
Doja1.5 |
保存在草稿板中,草稿板的最大容量為100K,與普通文件一樣.可以隨機(jī)存取. |
MIDP1.0 |
通過RecordStore存儲.提供了數(shù)據(jù)庫方式存取 |
MIDP2.0 |
同MIDP1.0 |
注:在讀/寫草稿板的過程中,不支持skip.
1-10 媒體文件
Doja1.5 |
只支持mld格式 |
MIDP1.0 |
Mid,mmf等 |
MIDP2.0 |
Wav,mid,mmf等 |
1-11 連接限制
Doja1.5 |
只支持HTTP連接,并且只能與它所下載資源(草稿板)的主機(jī)通信.
(據(jù)說是為了安全考慮),每次連接最大可發(fā)送5K,最大可接收10K |
MIDP1.0 |
只支持HTTP,可以和多個主機(jī)通信,數(shù)據(jù)量根據(jù)手機(jī)而定 |
MIDP2.0 |
支持HTTP,Winsock, 可以和多個主機(jī)通信, 數(shù)據(jù)量根據(jù)手機(jī)而定 |
注:由于每次最大只能接收10K的數(shù)據(jù),因此我在上傳草稿板文件時,就需要先分割成10K以下的多個小文件,下載的時候再在程序中”還原”.分割的工具有很多,在任意一個Doja項目中你都可以找到一個,下載的時候可以通過在jam中的AppParam 中設(shè)置分割文件數(shù),再通過IApplication.getArgs()獲得,參考代碼如下:
//.jam 參數(shù)之間以空格隔開
AppParam = [url_to_scratchpad]/KingKong_Mitsubishi341_EN_102_ 12 1.0.2
//.java
String _launchParams[] = cMIDlet._theMIDlet.getArgs();
spSplites=Integer.parseInt(_launchParams[1]); //spSplites = 12
string _version = _ launchParams[2];//_version = “1.0.2”
posted on 2006-02-25 15:41
生活,在繼續(xù)……勿要停! 閱讀(1891)
評論(9) 編輯 收藏 所屬分類:
從MIDP向DOJA手機(jī)的移植