J2ME Polish 全攻略之理解各個配置參數(shù)
前段日子我寫了 J2ME Polish 全攻略之入門這篇文章。雖然寫的不怎么樣,不過卻是帶了不少人入門。
現(xiàn)在摘錄網(wǎng)上的一段話來描述J2ME Polish現(xiàn)狀
希望開始研究J2ME-POLISH先有點(diǎn)心理準(zhǔn)備
ui的問題多多,特別是他所支持的CSS 沒有說明是哪個版本的CSS,有時讓人挺迷惑的。但是build工具還是不錯的。Build script寫起來有點(diǎn)不像他文檔中說的那么簡單。我個人認(rèn)為新手不易
從上面的話可以看書,J2ME
Polish雖火,但是要想流行起來,相關(guān)的入門,深入文檔還是比不可以少的。由于國人的習(xí)慣,如果有比較好的中文文檔,對他們來說是最好的事情,3G視線致力于這些工作,我們不是什么專業(yè)的作家,只是記錄下我們工作的經(jīng)驗(yàn),供大家一起學(xué)習(xí)
今天我們看看J2ME
Polish的配置文件的關(guān)系已經(jīng)怎么樣加入自己的東西,
比如加入自己的廠家規(guī)范,api規(guī)范等。
看看J2ME
Polish的配置目錄結(jié)構(gòu)
安裝J2ME
Polish打開安裝目錄就可以看到這些文件
apis.xml -- 描述一些常用的設(shè)備JCP規(guī)范支持的庫,比如MMAPI的描述啊等,
custom-css-attributes.xml -- 可為自己的GUI程序定制CSS樣式
custom-devices.xml -- 自定義驅(qū)動,補(bǔ)充官方?jīng)]有提供的驅(qū)動。
devices.xml - - 定義所有已知的設(shè)備,你可以定義或者修改這些已存在的規(guī)范和使用改變過的配置用在您的代碼中
groups.xml – 定義驅(qū)動組,每一個驅(qū)動可以在任意一個組下面
vendors.xml - - 可自定義的廠家J2ME規(guī)范
上面是一些配置的介紹,要想弄得J2ME Polish的Build的功能,弄得他們的關(guān)系是很重要的。
下面來定制我們需要的功能吧。
首先我們來定義自己的。Apis以及Vendors,
Vendors 我們定義一個ID是3Geye。
Apis 定義一個 3Geye/k700
然后在bulid上改下:
<deviceRequirements>
<requirement
name="Identifier" value="3Geye/k700"/>
</deviceRequirements>
第一步:
下面我們現(xiàn)在到Vendors上看看
我們拉到這個文件的底部,復(fù)制一個Vendor,然后修改下,就ok了
<vendor>
<name>3Geye</name>
<capability
name="JavaConfiguration" value="CLDC/1.0" />
<features>hasCommandKeyEvents</features>
<capability
name="JavaConfiguration" value="CLDC/1.0" />
<capability
name="keys.CommandKeys" value="21, 22, 23" />
<capability
name="key.LeftSoftKey" value="21" />
<capability
name="key.RightSoftKey" value="22" />
<capability
name="key.MiddleSoftKey" value="23" />
<capability
name="key.ChangeInputModeKey" value="48" />
<capability
name="key.ChangeNumericalAlphaInputModeKey" value="35"
/>
<capability
name="TextField.charactersKeyStar" value=" " />
</vendor>
這個是參照moto修改的
第二步:
修改devices
<device
supportsPolishGui="true"
>
<identifier>3Geye/k700</identifier>
<features>isVirtual</features>
<groups>Series60</groups>
<capability
name="OS" value="Symbian"/>
<capability
name="JavaPackage" value="mmapi, wmapi, pdaapi " />
<capability
name="JavaPlatform" value="MIDP/2.0" />
<capability
name="JavaConfiguration" value="CLDC/1.0" />
<capability
name="VideoFormat" value="3gpp" />
<capability
name="SoundFormat" value="midi, amr" />
<capability
name="Bugs" value="dateFieldAcceptsNoNullDate" />
</device>
這樣我們就定義了一個3Geye/k700de device了,如果你擴(kuò)展了apis,你應(yīng)該把擴(kuò)展的ID
填入JavaPackage這個參數(shù)里面。我在上面添加了一個pdaapi,對jsr75的支持。
然后測試下。
在這里可就可以看到結(jié)果了。
- Ant
- StdOut
- Buildfile:
build.xml
- init:
- j2mepolish:
- [j2mepolish]
J2ME Polish 1.2.4
- [j2mepolish]
Using locale [en]...
- [j2mepolish]
preprocessing for device [3Geye/k700].
- [j2mepolish]
compiling for device [3Geye/k700].
- [j2mepolish-javac-3Geye/k700]
Compiling 3 source files to
E:"Company"Project"slide"build"real"3Geye"k700"en"classes
- [j2mepolish]
obfuscating for device [3Geye/k700].
- [j2mepolish]
Starting obfuscation with ProGuard.
- [j2mepolish]
ProGuard, version 3.2
- [j2mepolish]
Preparing output jar [E:"Company"Project"slide"build"real"dest.jar]
- [j2mepolish]
ProGuard has successfully finished obfuscation.
- [j2mepolish]
preverifying for device [3Geye/k700].
- [j2mepolish]
creating JAR file [E:"Company"Project"slide"dist"sysinfo.jar].
- [j2mepolish]
creating JAD file [E:"Company"Project"slide"dist"sysinfo.jad].
- BUILD
SUCCESSFUL
- Total time:
14 seconds
這些是JBuilder2005測試的結(jié)果。
在這里我發(fā)現(xiàn)J2ME Polish 確實(shí)不錯。以后我會出一些更多關(guān)于它的文章,請繼續(xù)關(guān)注