手机上自带的游戏都不大好玩,虽然数量多(相对一般手机的一到三个),但是好像都提不起兴趣,夏新 E8 支持 java 扩展,那当然不会放过这个功能了,网上的 java 资源很多呀,那么能不能为 E8 所用,给我们的手机增添特色呢?下面,以笔者安装 java 的经历给大家介绍一下如何安装 java 程序到手机上,通过了这一关,手机的娱乐性可大大增加了。
一、 单纯的想法
以前使用的是索爱 t618, 也是一款比较经典的手机,娱乐性还行,尤其是 java 扩展方面是比较强的,只要将 java 的主程序就是 jar 文件通过红外传到手机里面,手机就会自动安装,一点都不费力气。那么,夏新 E8 是否具备这个功能,直接运行 java 的主程序而无需安装呢?
赶紧试试,上网下载了游戏的 jar 文件,传到手机上,点击。结果是弹出了不能运行的提示,看来,直接安装运行是行不通的,手机不能识别 jar 文件,也没有关联的程序来打开。再想办法吧。
二、 查找源头
既然如此,那就从手机上已经存在的游戏着手,看看这些手机的文件存放到什么地方,是以什么形式存在的。坚信手机上的游戏都是 java ,因为运行时都是通过一个 iajet 的 java 平台,说做就做,查找起来非常简单,打开我的手机 —windows—java—appdp 文件夹就找到了,狂多的一大堆文件,全部看起来都不知道是什么类型的文件,那就逐个逐个试吧。
接着一个一个点击,在听到一个一个错误提示和看到一个一个错误框后,终于有一个文件点击下去就进入了 java 平台的运行界面,狂喜,还不把你找到了。嘿嘿,你还是逃不出我的手掌心,乖乖,赶紧查看该文件的属性,哦,原来是一个 jad 文件,怪不得,以前就一直忽视了 jad 文件,以为这个文件只是记录了主程序的一些无关痛痒的信息,没什么作用。现在看来,手机要通过 jad 文件来安装 java 。
三、 初步试验
知道了大概,那就试试吧,看能不能通过 jad 文件实现安装。又上网下载了一个游戏的 jar 和 jad 文件,两个文件都传到手机上,按照习惯,存放到了 amoipsm 目录下,接着当然就是点击那个 jad 文件了,嘿,有效果!手机的 java 平台运行了,并且提示要安装程序,
狂喜,当然选择安装了,咦,奇怪,怎么又提示要连接网络,在手机上安装程序关网络什么事,不管他了,既然是尝试就把工作进行到底,点击确定连接,等了好一会,手机提示说网络不能连接,程序当然就安装失败了。浪费了好一段时间。
四、 深挖根源
第一次安装不成功,当然不会放弃,那就在深挖根源,找到出错的地方,至少已经明白了安装 java 要经过 jad 文件的引导,出错应该是 jad 文件的问题,究竟错在哪里,从安装的过程来看,是不能连接网络(网络连接后没能找到文件),想来想去,安装软件不可能要通过网络,尤其是 java 程序,因为下载的是很普通的游戏,如果是原来的手机,光是一个 jar 文件就搞定了,现在要连接网络才能安装,并且连上网络后又是找不到程序,那看来是这个 jad 文件犯了引导性错误了。有了这个方向,思路也清晰了,专门研究一下这个 jad 文件吧。将文件打开后(打开方式选记事本或者能打开文本的程序),看到里面是比较简单的几行说明性的文字,
其中有一条,就是倒数第二条
MIDlet-Jar-URL:http:/www2.joyes.com/game/upload_game/2005/11/09/220637706.jar
引起了注意,这个应该是路径的说明,而这里就直接指向了网站的下载路径,而网站没有经过注册登陆时不能下载文件的,这就跟刚才要连接网络和连接网络后没有找到程序一一对应上了。现在既然连个文件都是放在同一个目录底下,那么,直接指向就行了,根本不用通过网络进行再次下载。有了这个主意,立马对 jad 文件进行更改,将 jar 文件名前面的东西都删除了,干干净净的直接指向 jar 文件,也就是 MIDlet-Jar-URL: 220637706.jar 看你行不行。
五、 再次尝试
鼓足干劲,力争上游,来来来,再次安装。将改动后的 jad 文件传到手机,点击, java 平台启动,提示是否安装,点击安装按键,选择安装,然后手机进入了安装画面,看来成功了。不过,安装的过程有点慢,估计是手机要读取 jar 文件的内容并且要生成一大堆复杂的文件,所以不费点时间不行。
等呀等呀,大概十分钟的时间后终于安装完成,提示是否执行,那当然了,先试一下,看是否真正的安装好了。
最终测试结果:该 java 游戏可以打开,可以进入游戏菜单,但是对于手机的屏幕点击不能识别,因此不能继续测试。估计原因在于该游戏是针对键盘手机设计,没有把手写手机的屏幕点击考虑进去,同时,手机 java 平台的模拟键盘的按键与该游戏的设置不兼容。但不管怎么说,能够完成安装已经是很大的胜利了。
再看个详细,退出游戏,查看 amoipsm 文件夹,发现里面有一个 java 文件夹,再打开,是一个 game 文件夹,里面同样有一个 appdp 文件夹,在这个文件夹里面的文件跟 windows 里面的文件差不多,都是一大堆不明所以。
再回到 amoipsm 文件夹,发现原来的 jar 文件已经不见了,应该是手机将该文件的内容读取并且声称相关文件后自动将其删除了,这样也好,一来节省空间,二来面的文件多了记不起来。
现在已经知道 java 的安装方法,那下一步就肯定是找一个能玩的游戏玩一下了,将目标锁定在触摸屏手机能玩的游戏上,在网上查找,很快就找到了一款高尔夫游戏,将其下载,安装,测试,大功告成,游戏可玩,有声音,并且是全屏的,效果不错。这个游戏也建议大家有空试一下。
六、 继续学习,摸清原理
虽然安装成功,但是有关 java 的知识还是不够。要完美一些,不但会用,还要知道为什么能用,于是赶紧补充对 java 的学习。将一些学习心得给大家参考一下(部分资料来源于网络)。
我们知道有 JAVA 功能的手机程序(包括应用程序,游戏和电子书等等),主要都是由两个文件组成,一个是 *.JAR ,一个是 *.JAD 。
JAR 文件包含这个程序的 Java 类,以及有关的其他文件诸如图像和应用程序数据(即通常所说的资源等信息 ) 。 JAR 文件下的 manifest.mf 是描述 JAR 内容的清单文件 .
manifest.mf 文件所有可能的信息如下:
MIDlet-Name --- MIDlet 程序包的名称。
MIDlet-Version -- MIDlet 的版本号
MIDlet-Vendor -----MIDlet 的创建者或提供商
MIDlet-Icon --------- 应用程序管理器把这个图标与 MIDlet-Name 相关联, 这是一个图形文件,以 PNG 图象格式储存。
MIDlet-Description ----- 描述 MIDlet 的文本
MIDlet-Info-URL ----- 可能提供更多 MIDlet 和 / 或供应商信息的 URL
MIDlet- 这个属性包括三段信息: MIDlet 名称 / 用于这个 MIDlet 的图标 ( 可选 ) / 应用程序管理器将调用来加载这个 MIDlet 的类名
MIDlet-Jar-URL---- JAR 文件的 URL
MIDlet-Jar-Size ----JAR 文件的大小
MIDlet-Data-Size---- 持久数据存储必需的最小字节数
MicroEdition-PRofile ----MIDlet 需要哪一种 J2ME 简表
MicroEdition-Configuration----- MIDlet 需要哪一种 J2ME 配置
上面这些属性并不是全部都需要的,但是,下面列出的这六个是必须的,否则应用程序管理器就会拒绝加载这个 JAR 。
MIDlet-Version
MIDlet-Name
MIDlet-Vendor
MIDlet-
MicroEdition-Profile
MicroEdition-Configuration
有些程序是不需要 JAD 文件文件的,这些程序在传送的过程中不需要修改 JAR 文件。但是目前大部分手机程序使用的是相对路径,传送以后需要修改 JAR 文件,所以必须得有 JAD 文件。开始安装的时候就是忽略了这一点,没有相对路径这个概念,浪费了一点时间。有的手机会自动生成 jad 文件,如一些采用 s60 系统的手机。其实这些枯燥的概念不用深究,知道什么意思就行了,掌握了这些信息后,我们就可以对 java 游戏的一些表面的东西进行改动,例如游戏名称 Name 、游戏图标 Icon ,用以个性化我们手机上的游戏,当然更深入的更改是操作不了的。
我们看到 JAD 的属性与 manifest.mf 文件里的属性是相同的,但是下面的属性必须要有,否则手机无法加载这个游戏:
MIDlet-Version
MIDlet-Name
MIDlet-Vendor
MIDlet-
MIDlet-Jar-URL ---- 引用 jar 文件
MIDlet-Jar-Size
这里要说明的是:除了这些属性以外,如果两个文件中的另外名称相同的属性,但是属性值不相同的,将优先采取应用程序描述器文件 ( JAD ) 属性!
我们看到上面有一个 MIDlet-1 属性,这个属性不是必须的,但是没有这个属性,在模拟器中将没有办法使用这个程序!因此,如果你的手机程序无法在模拟器中使用的话,可以添加一下这个属性,再试试看到底可不可以运行。
还要注意的几点是:
1 。属性 MIDlet-Name 、 MIDlet-Version 和 MIDlet-Vendor 既在 JAR 中的清单文件中又在 JAD 文件中,这些属性的值都必须完全相同。如果不同将会引起冲突,能自动生成 jad 文件的没有问题,但要有 jad 作引导的就不行了。安装会出错。
2 。属性 MIDlet-Data-Size 在 JAR 文件和 JAD 文件中都有,当两个文件中都定义了这个属性的时候,程序运行时 JAD 文件中的属性将使用。
3 。从网上下载的 jad 文件绝大部分都是不适用的,关键就在于 url 这个相对路径,通过修改可以解决,具体修改方法已经在上面说过了。
七、 更进一步
刚才说到了 jad 这个文件,部分网站是提供下载的,但也有一部分没有提供,再说就是提供下载也不能用,必须通过修改,那么,有没有办法一下子就把这些问题解决呢,经过研究,该问题可以借助一个小软件得以解决。这个软件叫做 jadgen ,是一个绿色小软件,非常小,但是在没有 jad 文件的时候可以帮到大忙。该软件的功能就是自动生成 jad 文件,操作起来非常方便,完全傻瓜式的操作。具体使用方法如下:
1、 上网下载软件,如无意外,是一个压缩文件,将其解压
2、 解压后打开解压的文件夹,可以看到主程序文件 JADgen.exe ,双击可以打开,但需要提醒的是,直接运行软件什么都做不了,就算做得了也很不方便,要慢慢的输入文件路径,也就是说,在这里根本不用运行该软件。
3、 接着上面说,将你要生成 jad 文件的 jar 文件用鼠标点住,直接往 jadgen.exe 的图标拖放,一松手,配套的 jad 就生成了,生成的 jad 文件直接存放在 jar 文件所在的路径。例如本人习惯将下载的文件放到桌面上,那生成的文件也在桌面上。
八、 使用总结
作为一款智能手机,对 java 扩展的支持是必不可少的,但从现在来看,网上的资源还是偏少, java 虽然多,但未必适用,这就成了一个制约的因素,尤其是刚开始对手机不熟悉的时候,安装失败后很容易就对手机有所怀疑,而且,夏新在这方面确实做得不够:
1、 说明书太简单,基本是提纲式的,没有充分考虑 diy 的需要,对一下关键的地方言之不详,导致用户要反复摸索,好像反过来要给夏新做宣传。
2、 网上资源太少,其它网站没有的至少夏新网站要有,连这点都没有做到,到现在还只是原来的那几个游戏,希望在推出更新系统时也要推出新的应用软件和游戏。
对于安装 java 游戏来讲,需要总结的刚才已经作了提醒,还要说的是,查找游戏时要尽量找一些适合触摸屏、能全屏显示的游戏,以免点击屏幕是操作不了。例如查找一些同类型手机的游戏象 motuo 的 680 型号等等,同样是 320*240 屏幕,同样是触摸屏,这样可能成功的机会高很多。要知道,手机的内存是偏小的,更多的手机软件可能由于容量问题安装不了,而 java 其中一个优势就是占用内存少,必须充分发挥,而且现在也有很多 java 应用软件做得非常好,应该多做点尝试。另外在安装 java 主程序的时候,等待的时间是比较长的,安装好以后,进入程序速度比较快,特别是对于全屏的游戏来说,看起来很舒服。
以上是一点点的体会,仅供参考。