J2ME Polish 全攻略之理解各個(gè)配置參數(shù)
前段日子我寫(xiě)了 J2ME Polish 全攻略之入門(mén)這篇文章。雖然寫(xiě)的不怎么樣,不過(guò)卻是帶了不少人入門(mén)。
現(xiàn)在摘錄網(wǎng)上的一段話來(lái)描述J2ME Polish現(xiàn)狀
希望開(kāi)始研究J2ME-POLISH先有點(diǎn)心理準(zhǔn)備
ui的問(wèn)題多多,特別是他所支持的CSS 沒(méi)有說(shuō)明是哪個(gè)版本的CSS,有時(shí)讓人挺迷惑的。但是build工具還是不錯(cuò)的。Build script寫(xiě)起來(lái)有點(diǎn)不像他文檔中說(shuō)的那么簡(jiǎn)單。我個(gè)人認(rèn)為新手不易
從上面的話可以看書(shū),J2ME Polish雖火,但是要想流行起來(lái),相關(guān)的入門(mén),深入文檔還是比不可以少的。由于國(guó)人的習(xí)慣,如果有比較好的中文文檔,對(duì)他們來(lái)說(shuō)是最好的事情,3G視線致力于這些工作,我們不是什么專業(yè)的作家,只是記錄下我們工作的經(jīng)驗(yàn),供大家一起學(xué)習(xí)
今天我們看看J2ME Polish的配置文件的關(guān)系已經(jīng)怎么樣加入自己的東西,
比如加入自己的廠家規(guī)范,api規(guī)范等。
看看J2ME Polish的配置目錄結(jié)構(gòu)
安裝J2ME Polish打開(kāi)安裝目錄就可以看到這些文件
apis.xml -- 描述一些常用的設(shè)備JCP規(guī)范支持的庫(kù),比如MMAPI的描述啊等,
custom-css-attributes.xml -- 可為自己的GUI程序定制CSS樣式
custom-devices.xml -- 自定義驅(qū)動(dòng),補(bǔ)充官方?jīng)]有提供的驅(qū)動(dòng)。
devices.xml - - 定義所有已知的設(shè)備,你可以定義或者修改這些已存在的規(guī)范和使用改變過(guò)的配置用在您的代碼中
groups.xml – 定義驅(qū)動(dòng)組,每一個(gè)驅(qū)動(dòng)可以在任意一個(gè)組下面
vendors.xml - - 可自定義的廠家J2ME規(guī)范
上面是一些配置的介紹,要想弄得J2ME Polish的Build的功能,弄得他們的關(guān)系是很重要的。
下面來(lái)定制我們需要的功能吧。
首先我們來(lái)定義自己的。Apis以及Vendors,
Vendors 我們定義一個(gè)ID是3Geye。
Apis 定義一個(gè) 3Geye/k700
然后在bulid上改下:
<deviceRequirements>
<requirement name="Identifier" value="3Geye/k700"/>
</deviceRequirements>
第一步:
下面我們現(xiàn)在到Vendors上看看
我們拉到這個(gè)文件的底部,復(fù)制一個(gè)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>
這個(gè)是參照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>
這樣我們就定義了一個(gè)3Geye/k700de device了,如果你擴(kuò)展了apis,你應(yīng)該把擴(kuò)展的ID
填入JavaPackage這個(gè)參數(shù)里面。我在上面添加了一個(gè)pdaapi,對(duì)jsr75的支持。
然后測(cè)試下。
在這里可就可以看到結(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測(cè)試的結(jié)果。
在這里我發(fā)現(xiàn)J2ME Polish 確實(shí)不錯(cuò)。以后我會(huì)出一些更多關(guān)于它的文章,請(qǐng)繼續(xù)關(guān)注