漫游 J2ME Polish
Robert Virkus
Enough Software
(本文由李天宇翻译)
感谢Eric Meyer提供这么棒的工具!
操作指导:
用鼠标点击或用方向键播放幻灯片。点击"J2ME Polish"上的链接返回。
J2ME Polish是什么?
J2ME Polish 是用于开发J2ME应用的工具集:
- 从一份源代码中为多种设备和多种语言创建应用的建造工具(build tools)。
- 一个设备数据库,您的应用可以用它通过预处理为不同的手机进行调整.
- 一套用户界面(GUI), 可以在应用程序代码之外进行设计。
- 工具类(Utiliy classes),如 BitMapFont 和 ArrayList。
- 编辑修改二进制文件的独立工具。
- ...这仅仅是个开始。
创建J2ME应用程序
用J2ME Polish创建应用程序很容易:
- 通过列表或描述其性能来选择您的目标设备。(如:"支持 WMAPI and MIDP/2.0")。
- J2ME Polish 为您进行预处理、编译、混淆和打包应用程序。
- 你还可以在开发时自动启动相应的模拟器。
- 由于建造工具(build tools)基于Ant, J2ME Polish 可以优雅地集成到所有Java IDE中。
资源管理
- J2ME Polish 为您的应用程序自动包含相应的资源。
- 把公用的资源放入"resources"文件夹内。
- 您可以把特定的资源放入相应的文件夹内,如:"resources/Nokia", "resources/Siemens/S65" or "resources/BitPerPixel.16+".
- 对资源的管理进行调整非常容易,比如您可以仅在设备支持MIDI音效时把MIDI文件包含进去。
本地化
- 当应用程序要在不同地区销售时就需要进行本地化。
- 用J2ME Polish,您可以为不同的地区很容易地调节文字和其他资源,如图片、声音。
- 当您用J2ME Polish来进行本地化时,相对未做本地化处理的应用程序来说,不会产生额外负担,因为翻译内容直接嵌入到了应用程序中。
设备数据库
设备数据库帮助您为不同的手机调节您的程序:
- 存储了超过 230种 J2ME 设备和相应的J2ME 参数,如 Canvas的大小, APIs, 支持格式等。
- 您不仅仅能看到各种设备的性能,在预处理阶段,还可以直接在代码中应用它们。
- 因为数据库基于XML,您可以很容易地进行扩展。
预处理
- 在编译前就预先对代码进行处理。
- 通过与处理,您可以在不损失移植性的情况下为各种设备调节应用程序。
- J2ME Polish 提供了强大的预处理命令和标准的命名方案。
- 您可以使用在设备数据库中定义过的任何性能。
//#if polish.midp2 || polish.api.mmapi // okay the audio-playback of the MMAPI can be used: Player player = ...//#endif
GUI (1/2)
- J2ME Polish 让你用简单的CSS文本文件来设计MIDP应用程序的界面。
- 设计界面并不难:
background-color: rgb(123, 54, 233);
- 根据item 或 screen,您可以使用特定属性。
- 您可以使用图片,基于位图的字体,不同的背景,动画效果等等。
- 整个设计完全在应用程序代码之外完成。
- 所以您可以很容易地为您的应用程序换肤,而不用更改代码。
- 用J2ME Polish GUI,您可以在MIDP/1.0手机上使用MIDP/2.0特性,如CustomItems!
用户界面GUI (2/2)
上面的屏幕截图screenshots 显示的是应用了不同外观主题的范例程序。
当然,您也可以创建自己的item,如背景。
游戏引擎
- 用 J2ME Polish 的游戏引擎,你可以在MIDP/1.0 设备上使用MIDP/2.0 game API。
- 你可以应用不同的优化策略,如为TiledLayer应用后端缓存backbuffer。
- J2ME Polish 的游戏引擎已经被高度优化(速度)。
- 用一份源代码给所有的目标设备开发游戏。
工具类
- 使用一些J2ME标准中不包括,却很常用的工具。
-
de.enough.polish.util.BitMapFont
用基于位图的字体显示消息文字。
-
de.enough.polish.util.ArrayList
提供为Vector提供了另一个高效的选择。
-
de.enough.polish.util.TextUtil
提供一般字符串操作功能,并且可以将文本分割开以便显示。
Logging Framework
- 用 logging framework 您可以在真机上看到
System.out.println()输出的消息
。
- 您可以为特定的类(class)和包(packages)启用不同的记录级别,如:"debug", "warn" or "error"。
- 定义您自己的记录级别,如: "performance"。
- 在最终版本里关闭消息记录,在引用程序中绝对不会遗留任何痕迹。
try { Connection con = Connector.open( url ); ...} catch (Exception e) { //#debug error System.out.println("Unable to connect" + e );}
独立工具
- 用二进制编辑器(binary-editor) 来创建和修改二进制数据文件,比如游戏中的关卡数据文件。
- 用字体编辑器(font-editor) 从true type字体中创建基于位图的自定义字体。
谢谢阅读!
更进一步:
- Features 页描述了大部分重要特性,提供到完整文档的链接。
- Tutorial 页解释了范例程序并帮你开始第一步。
- 到 Documentation 页获取完整的信息。
- 别忘了到 Download 页下载J2ME Polish。