J2ME Polish 配置参数详解-j2me教程
J2mePolish 2008-06-26 17:33:30 阅读27 评论 字号:大中小
前段日子我写了J2MEPolish全攻略之入门这篇文章。虽然写的不怎么样,不过却是带了不少人入门。
现在摘录网上的一段话来描述J2MEPolish现状
希望开始研究J2ME-POLISH先有点心理准备
ui的问题多多,特别是他所支持的CSS没有说明是哪个版本的CSS,有时让人挺迷惑的。但是build工具还是不错的。Buildscript写起来有点不像他文档中说的那么简单。我个人认为新手不易
从上面的话可以看书,J2MEPolish虽火,但是要想流行起来,相关的入门,深入文档还是比不可以少的。由于国人的习惯,如果有比较好的中文文档, 对他们来说是最好的事情,3G视线致力于这些工作,我们不是什么专业的作家,只是记录下我们工作的经验,供大家一起学习
今天我们看看J2MEPolish的配置文件的关系已经怎么样加入自己的东西,
比如加入自己的厂家规范,api规范等。
看看J2MEPolish的配置目录结构
安装J2MEPolish打开安装目录就可以看到这些文件
apis.xml--描述一些常用的设备JCP规范支持的库,比如MMAPI的描述啊等,
custom-css-attributes.xml--可为自己的GUI程序定制CSS样式
custom-devices.xml--自定义驱动,补充官方没有提供的驱动。
devices.xml--定义所有已知的设备,你可以定义或者修改这些已存在的规范和使用改变过的配置用在您的代码中
groups.xml–定义驱动组,每一个驱动可以在任意一个组下面
vendors.xml--可自定义的厂家J2ME规范
上面是一些配置的介绍,要想弄得J2MEPolish的Build的功能,弄得他们的关系是很重要的。
下面来定制我们需要的功能吧。
首先我们来定义自己的。Apis以及Vendors,
Vendors我们定义一个ID是3Geye。
Apis定义一个3Geye/k700
然后在bulid上改下:
<deviceRequirements>
<requirementname="Identifier"value="3Geye/k700"/>
</deviceRequirements>
第一步:
下面我们现在到Vendors上看看
我们拉到这个文件的底部,复制一个Vendor,然后修改下,就ok了
<vendor>
<name>3Geye</name>
<capabilityname="JavaConfiguration"value="CLDC/1.0"/>
<features>hasCommandKeyEvents</features>
<capabilityname="JavaConfiguration"value="CLDC/1.0"/>
<capabilityname="keys.CommandKeys"value="21,22,23"/>
<capabilityname="key.LeftSoftKey"value="21"/>
<capabilityname="key.RightSoftKey"value="22"/>
<capabilityname="key.MiddleSoftKey"value="23"/>
<capabilityname="key.ChangeInputModeKey"value="48"/>
<capabilityname="key.ChangeNumericalAlphaInputModeKey"value="35"/>
<capabilityname="TextField.charactersKeyStar"value=""/>
</vendor>
这个是参照moto修改的
第二步:
修改devices
<device
supportsPolishGui="true">
<identifier>3Geye/k700</identifier>
<features>isVirtual</features>
<groups>Series60</groups>
<capabilityname="OS"value="Symbian"/>
<capabilityname="JavaPackage"value="mmapi,wmapi,pdaapi"/>
<capabilityname="JavaPlatform"value="MIDP/2.0"/>
<capabilityname="JavaConfiguration"value="CLDC/1.0"/>
<capabilityname="VideoFormat"value="3gpp"/>
<capabilityname="SoundFormat"value="midi,amr"/>
<capabilityname="Bugs"value="dateFieldAcceptsNoNullDate"/>
</device>
这样我们就定义了一个3Geye/k700dedevice了,如果你扩展了apis,你应该把扩展的ID
填入JavaPackage这个参数里面。我在上面添加了一个pdaapi,对jsr75的支持。
然后测试下。
在这里可就可以看到结果了。
*Ant
*StdOut
*Buildfile:build.xml
*init:
*j2mepolish:
*[j2mepolish]J2MEPolish1.2.4
*[j2mepolish]Usinglocale[en]...
*[j2mepolish]preprocessingfordevice[3Geye/k700].
*[j2mepolish]compilingfordevice[3Geye/k700].
*[j2mepolish-javac-3Geye/k700]Compiling3sourcefilestoE:"Company"Project"slide"build"real"3Geye"k700"en"classes
*[j2mepolish]obfuscatingfordevice[3Geye/k700].
*[j2mepolish]StartingobfuscationwithProGuard.
*[j2mepolish]ProGuard,version3.2
*[j2mepolish]Preparingoutputjar[E:"Company"Project"slide"build"real"dest.jar]
*[j2mepolish]ProGuardhassuccessfullyfinishedobfuscation.
*[j2mepolish]preverifyingfordevice[3Geye/k700].
*[j2mepolish]creatingJARfile[E:"Company"Project"slide"dist"sysinfo.jar].
*[j2mepolish]creatingJADfile[E:"Company"Project"slide"dist"sysinfo.jad].
*BUILDSUCCESSFUL
*Totaltime:14seconds
这些是JBuilder2005测试的结果。