如果本文的读者还不知道polish所为何物,那么请可以去j2mepolish的官方网站看下,它到底是用来干嘛的,我们这里只谈它其中的一个build功能。本人接触polish的时间也不长,可以说是小菜鸟,所以文章中难免出现问题,希望读者能够不吝指正。
问题的提出:我们为什么要用polish来build我们的程序?其实build程序我们可以用很多IDE来完成,但是我们利用polish是为了解决一个问题,而这个问题可能同样困扰着你。由于不同手机平台的不同,而往往这些不同手机上实现程序会有一定的差异性,即使同一个平台,比如Nokia来说,它的不同型号不同机型也不尽相同,比如老40(s40E1)播放mid和新s40以及s60就很不相同,就是因为这个原因,我们在开发的过程中会先在某一款机型上实现所有的代码、所有的功能,然后适配到不同的机型中,这样一来我们是不是得到了很多这样的代码,他们有这样几个特点:
1>都是实现了一个有戏,代码差异性不大
2>由于平台差异,手机差异,不同机型上的代码的差异性又不相同
好了,现在问题出来了,如果对于这些代码进行维护,哪怕只是修改其中的几张图片,你该做什么样的工作?你可能会说,把图片放到资源文件夹内,替换原来的图片,然后在每个版本里修改一定的代码,在模拟器上调试成功后,然后重新build打包,装真机测试。那么如果这样的不同机型有15款,乃至20款,你的工作量是不是相当大,而当你改完了,你又发现其实很多机型修改的内容一摸一样,而你做了好多重复累赘的工作。这个时候,你就需要polish了。
利用polish我们可以把这些不同的版本整合到一起,让他变成一个代码体,当然了它包含了不容机型里的所有内容,当然polish有他的办法来区分他们之间的不同。这里我举个简单的例子,比如我们的游戏中存在一个背景音乐(mid),但是我们知道并不是所有的机型都支持播放mid,再具体一点,我要做的游戏里Moto C650是能播放mid的,但是Nokia-7210却不支持,这两个机型屏幕大小完全一样(FullCanvas大小不一样,主要因为moto机型无法真正全屏,屏幕上方的状态条无法除去),游戏的代码体一摸一样,7210里不能播放声音,那么我们可以用polish简单的来判断控制来区分,看下面的代码:
//#if polish.midp2
/**//*播放音乐代码/*
//#else
/*不播放音乐操作/*
//#endif
简单分析一下这段代码,我们的polish做了这么一步工作--根据你的要求,提取代码,然后打包,同样它也可以提取资源文件,我们以后慢慢讨论这些问题,这里我们继续分析代码,当机型是midp2.0时,执行播放音乐代码,因为一般的2.0机型都能播放mid,如果为1.0那么我们就不播放音乐,转而执行其他的代码,这些看似C里面宏定义的代码的作用就是能根据你的控制代码,来瓜分你的代码,而且在build/real/Nokia/7210/source下看到build后的原代码,并不包含播放声音那一段,因为7210是1.0的机子。现在你猜猜moto C650的放在那里?它就放在build/real/Motorola/C650/source下面,这个过程由polish自动完成,你不用操心,当然不播放音乐的代码也不会被包含在C650的代码中。(注明:所有的目录结构都是根据eclipse)。讲到现在,你可能知道了一点polish的build功能的魅力了。
一句话,用polish的语言,把不同的机型代码完美的整合到一起,方便我们以后管理,修改。当然同样带来的项目上的风险,有利有弊吧,看读者怎么思考这个问题了。
文章接下来还会通过一个实例来解决我们在整合所有机型代码时候的问题,请看文章二
分享到:
相关推荐
j2me polish 资料 j2me polish 资料 j2me polish 资料 j2me polish 资料
j2me polish v212完全源码
j2me polish 入门教材
现在好了,开源工具J2ME Polish 提供了针对这个问题的解决方案,事实上J2ME Polish为无线JAVA程序开发人员提供了一整套的工具。这些覆盖用于编译、预审核和打包程序的标准的工具,精致的可选GUI使你能通过一个简单的...
j2me polish 开发的一个移动客户关系管理系统(手机端)。
J2ME Polish 初级教程,介绍了polish的基本知识,。。。
网上对于ECLIPSE和J2ME POLISH集成的文章有一些,但是随着版本的不断升级,初学者很难顺利集成,我花了一天时间终于集成成功。
Pro_J2ME_Polish_Open_Source_Wireless_Java_Tools_Suite-2209
Pro J2ME Polish Open Source Wireless Java Tools Suite(普通下载).rar
J2ME Polish 游戏引擎为MIDP1.0的设备提供了完备的MIDP2.0游戏API。在这篇文章中,是从Robert Virkus的 Pro J2ME Polish 摘录的。你将学会通过设置各种预处理变量从而优化游戏引擎;在MIDP1.0平台游戏引擎受限的条件...
2ME Polish 是用于开发J2ME应用的工具集: 从一份源代码中为多种设备和多种语言创建应用的建造工具(build tools)。 一个设备数据库,您的应用可以用它通过预处理为不同的手机进行调整. 一套用户界面(GUI), 可以在...
j2me polish cssj2me polish cssj2me polish cssj2me polish cssj2me polish cssj2me polish cssj2me polish cssj2me polish cssj2me polish css
j2me 界面库,方便各种机型迁移.包内内容为自带文档..
J2ME Polish是用于快速开发J2ME应用程序的下一代框架。 包括的功能包括强大的GUI框架,实用程序类和用于创建设备优化应用程序的基于ant的构建工具。
J2mePolish2.0beta3下载成功以后,直接点下载的jar就自动安装了,然后点下一步,下一步,有一个界面是选sdk的,我选的是wtk25。然后又一路下一步,最后就会提示安装成功,点[quit]就行了。
pro_J2ME_Polish_book_src,pro_J2ME_Polish_book_src
Complete_Guide_to_J2ME_Polish 介绍了polish技术,pdf格式
Complete_Guide_to_J2ME_Polish.pdf