j2mepolish研究报告 by -猴猴,刀刀

 http://huohoustudio.spaces.live.com/blog/cns!D265DB37F9B75BA2!310.entry

j2mepolish研究报告

研究了几天polish,目前有了比较清楚的眉目,做个报告。

 

附件中rar是一个应用的工程,build.xml是我总结的一个基本的buildxml文件,里面有说明。

 

在这里说明下build之后的文件放在了build.xml上一级目录下的文件目录名字是:

 

项目名称_设备厂商_设备型号_版本,如:MyPolish_Nokia_6600_2_1_0

 

 

 

下面对于java文件中撰写//#格式的语句做出总结(主要介绍怎么用,至于polish里面都有什么能,做什么,我就不说了,很是强大。。。。):

 

1、  build.xml文件里面的build字段内有个variables字段,这里定义了我们自定义的参数,定义为参数1

如:<variable name="MusicType" value="ringtone"/>

2、  devices.xml文件里面的features字段,定义了polish针对每款终端设备的属性,定义为设备属性

如: <features>isVirtual</features>

3、  devices.xml文件里面的capability字段,定义了polish针对每款终端设备的参数,定义为参数2

如:<capability name="JavaPlatform" value="MIDP/1.0" />

4、  此外还有一些polish定义的固有参数,定义为参数3

这里举一个常用的:

polish.name               设备型号,如6600

polish.vendor             设备厂商,如Nokia

polish.identifier         设备厂商/设备型号,如Nokia/6600

 

 

 

 

可以看到,参数的都有namevalue两个字段组成,而属性只有一个属性名字。这直接影响到在Java文件里面if语句里面的使用格式。

 

下面讲java文件里面的对于以上三种xx的使用格式:

1、  参数1的使用格式:

 

检测是否定义了的格式:

If param1:defined

If ${param1}:defined

Ifdef param1:defined

Ifdef ${param1}:defined

Ifndef param1

Ifndef ${param1}

 

参数是否满足某一条件(这里以”==”为例,实际可以用:==<>!=<=>=&& and||or^xor!not,和咱们平时用的一致)

If param1 == value

If param1 == “value”

If ${param1} == value

If ${param1} == “value”

 

2、  设备属性的使用格式:

 

设备属性只有检测定义的使用

If polish.att1

If ${ polish.att1}

Ifdef catt1

Ifdef ${ polish.att1}

Ifndef polish.att1

Ifndef ${ polish.att1}

 

3、  参数2参数3的使用格式:

 

检测是否定义了的格式:

If polish.param1:defined

If ${ polish.param1}:defined

Ifdef polish.param1:defined

Ifdef ${ polish.param1}:defined

Ifndef polish.param1

Ifndef ${ polish.param1}

 

参数是否满足某一条件(这里以”==”为例,实际可以用:==<>!=<=>=&& and||or^xor!not,和咱们平时用的一致)

If polish.param1 == value

If polish.param1 == “value”

If ${ polish.param1} == value

If ${ polish.param1} == “value”

 

 

 

补充一个引用参数的使用格式,如果想要引用某一个参数的具体值给生成的java文件里面使用可以采用下面的格式:

 

//#if polish.OS == "Symbian"

//#= public String str2 = "${polish.OS}";

//#= public int value1 = ${MusicType};

//#endif

注意上面的第二行的//#后面的=,这个是关键,不然不能引用参数的值,还有一个关键是引用的参数必须在${}里面写入,否则,要么在make时候报错,要么你会得到一个和你写的参数名字一模一样的数值,比如第二行polish.OS不在${}里面的话,make时候不报错,但是你得到的java文件里面是:

public String str2 = “polish.OS”;

 

好在make的时候polish会检测等号两边的数据类型是不是匹配。这解决所有非字符串的引用值的问题。

 

可以看到,参数的都可以用操作符操作,只是自定义的参数不需要加polish.这个头,而属性只能判断是不是支持这个属性,即是不是定义了,不能用操作符判断它的内容。

 

有一点建议:就是大家定义的变量最好放在build.xml里面的variables字段。目前需要一个关于我们发布版本的设备的能力的清单,如果有这个清单就可以定做我们自己的deveices.xml,有了自己的deveices.xml就可以订做我们自己的针对不同设备的build.xml文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值