从理论上看和手机相关的java知识

c650的 MIDP(Mobile Information Device Profile) 2.0 给了手机更广泛的空间 , 可以让我们能运行更丰富的java游戏 。但是很多朋友对jar和jad这两个文件还是不清楚到底是做什么用的或者出现上传失败是jar的问题还是jad的问题 , 这里我们从理论上弄清楚关于手机程序的一些事情 。
【从理论上看和手机相关的java知识】问题一 , 关于手机游戏移植(别的手机的游戏可不可以直接用在c650上?)
答:对于java游戏来说 , 都是基于J2ME的 , 因此具有很好的移植性 , 理论上也就是说如果是标准的MIDP应用程序调用标准的MIDP程序库就可以在所有标准的CLDC的手机上运行 , 但是很多厂商会在游戏里加入自己厂商专属的API , 因此 , 造成了移植的困难 , 另外 , 由于各个产品的CLDC和MIDP版本的不同也会造成很大影响 , 现有的版本是MIDP 2.0/1.0和CLDC 1.1/1.0 , 不过还好是向下兼容的 , 但是不能向上兼容 , 因此可以就单个游戏来说能不能移植 , 而不能一概的说什么手机上的游戏能不能移植到什么上面 。
问题二 , jad文件有用么?
答:jad是描述文件 , 记录了一些让用户和手机知道信息 , 这个也就是我们在midway中open的那个文件了 , 点send的话 , 我们会在手机屏幕上看到关于这个游戏的一些信息 , 比如版本 , 大小 , 提供者等 , 在本地传送文件的时候大家会觉的有没有无所谓 , 但是如果是通过GPRS下载的话 , 这个就比较有用了 , 因为jad文件非常小 , 几乎不花钱 , 我们先把jad文件下载到手机里 , 觉的这个java程序合适 , 然后再下载jar文件 , 不合适就不去下载了 。对于有些高端手机来说 , 有没有jad文件都可以 , 因为jad文件是从jar文件里提取出来的 , 手机只要能识别jar文件就可以了 , 但是对于c650来说 , 上传时还是需要jad文件的 。
问题三 , jad文件一定要重新生成或者修改才能用么?
答:要看情况而定 , jad文件最重要的功能就是告诉手机jar文件在什么地方 , 去哪里找jar文件 , 也就是里面的MIDlet-Jar-URL这一项 , 如果jar和jad在同一个目录下呢 , 写相对路径就好了 , 如果没在一起呢 , 就写绝对路径 , 比如c:1111111**.jar 。或者用jad生成器直接从jar文件中提取内容生成和jar文件所在目录一致的jad文件 , 由于很多游戏都是直接从网上下载到本地硬盘的 , 所以jad的路径都会是你当时下载的那个网站里jar的绝对路径 , 比如从joyes这里下的jar和jad , joyes支持wap方式 , 所以你可以通过访问他的网站 , 先下载jad , 再通过他的jad找到他网站里存放jar文件的地方 , 所以如果直接把jad和jar文件下载下来 , 这个时候jar文件在你的本地机器里 , 而jad文件里仍描述的是joyes里jar的存放位置 , 因此一定会出错误的 。
问题四 , java模拟器有什么用?
答:在上传java程序之前呢 , 建议通过motorola SDK 4.1 for J2ME 进行一下模拟 , 这个程序需要Java 2 SDK Standard Edition来支持 , moto官方推荐1.4以上版本 , 可以在模拟器上试验一下这个游戏或者别的程序是否时候c650 , 一般是从屏幕尺寸和游戏声音2个方面来考察 , 还有一些按键的问题 , 因为可能游戏是移至的和c650键盘布局非常不一样的手机 。这样可以减少对手机内存的读写 , 起到一定的保护手机的作用 。
问题五 , 怎么才能修改游戏的屏幕尺寸 , 让他适合c650
答: , 第一 , 必须熟悉j2me的程序的编写 , 才可以修改 。第二 , 现在的游戏都会加上扰码 , 混淆 , 即使经过反编译也是非常难找到正确的源文件 。

    推荐阅读