一个NOKIA 大赛获奖作者的开发心得 |
| 作者:spzone.net 来源:转载 发布时间:2005-7-21 10:37:25 |
|
有些人问起了混淆的问题,由于JAVA程序是半解释的,他的目标文件是字节码,也就是*.class的形式,导致了他很容易被反编译(我见过很多反编译的工具,做的都相当的漂亮)。混淆就是打乱程序中所有的变量名称和函数名称,让其他人进行反编译后无法看懂你的源文件,这是一个不可逆的过程,由于修改了变量函数的名称(简单的说就是把你一个很长的名字缩小到一个字母而已,反正机器又不用去记J)所以在编译的时候也能够起到一些压缩的作用。哦,混淆是需要特定包来完成的,retroguard可以用在WTK1.4上面,用法非常简单,只需要把解压后的retroguard.jar文件放到WTK\bin目录下就可以了,在打包的时候仅需要选择下面一项打成混淆包就可以了。但是这样也有一些小问题,这个混淆包在混淆时候似乎不能混淆一些扩充的包(比如Nokia的扩充API包,这个在下文中会讲到的),这时你就可以考虑使用另一个工具proguard(这个工具WTK1.4并不提供支持)了,这个工具的使用还是比较麻烦的,我在一篇文章中看到他必须要写一个配置文件,还需要制定特定的目录,然后才能在命令行中启动,呵呵,其实还有一种简单的方法,那就是可以把他集成到WTK2.0中去,WTK2.0提供了对他的支持,安装的方法和retroguard一模一样。他就可以完成对一些特殊的扩充包进行混淆了。
最后,我在聊一下如何加入第三方提供的包和模拟器,就已Nokia为例,Nokia的官方技术网站中提供了很多的针对与不同设备手机的开发包(主要包括Nokia 60设备,Nokia 40设备,Nokia 7210,Nokia 3300等)。在安装这些开发包之前,必须先安装一个叫做nds_jme的工具包,它主要是提供了不同的Nokia设备SDK之间的管理和一些特殊的工具,例如音频代码工具和模拟器的管理工具。采用第三方工具的好处就在于它提供了一些依赖于特定硬件的扩充包,可以让我们开发很多底层所提供的功能,现在我就已Nokia 60为例来具体的介绍一下第三方的扩充开发包。Series 60 MIDP SDK for Symbian OS是Nokia 提供给他的基于60平台(以Symbian为基础平台,主要的设备是Nokia3560 和Nokia7560)的Java开发工具包,现在主要的版本是1.2版。它所提供的API主要分为以下几个部分:1)MIDP 1.0 API 这是由Sun所定义的标准的Kjava的开发包;2)Mobile Media API 这一部分提供了移动媒体的API接口开发,他主要提供了一个多媒体管理播放的接口协议使得MIDlet能更有效地使用各种媒体类型。这些MIDlets能够播放几种类型的音频和视频文件,还可以使用照相机来抓取图像;3)Bluetooth API 提供了一个无线传输协议-Bluetooth的编程接口,利用它可以对逻辑链路层L2CAP和服务搜索,通过它与远程设备交换数据;4)Wireless Messaging API 提供了一个接收和发送无线短信息的编程接口;5)Nokia UI API 这是Nokia各种设备包括40,3300等设备所通用的,它主要提供了两个Java开发包,com.nokia.mid.sound和com.nokia.mid.ui主要提供了对声音和用户界面接口(其中包括了背景灯光,全屏等接口)的编程。其中1)为标准的Kjava的API 2)3)4)为60系统提供的开发资源包 5)是Nokia设备通用的开发包,提供了一套在Nokia通用的开发接口。利用这些当然可以开发出功能强大,用途广泛的应用程序,但是这也恰恰是以牺牲程序的通用性为代价的。所以我建议在Kjava游戏的开发中,最关键的是控制好它的版本,要充分的考虑通用性和特殊的平台,我先用标准的API设计游戏的内部逻辑和基本的界面,在版本保存后,在进行下一步的特殊平台API的扩充针对于不同的平台生成不同的系统版本,这样就可以逐渐设计开发出适应于不同手机平台的Kjava游戏来。 我的手机开发也正是从Kjava开始的,下面就让我具体的介绍一下Kjava开发手机游戏的步骤吧。 |
| [] [返回上一页] [打 印] |
|
文章评论 |
