论坛首页 移动开发技术论坛

教你java后台运行

浏览 8272 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-12-17   最后修改:2010-01-26
希望对大家有帮助.我们知道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的属性与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文件中,这些属性的值都必须完全相同。

2。属性MIDlet-Data-Size在JAR文件和JAD文件中都有,当两个文件中都定义了这个属性的时候,程序运行时JAD文件中的属性将使用。

3。MIDP(Mobile Information Device Profile)移动信息设备简表,提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服务。

MIDlet是遵照MIDP编写的java应用程序,MIDlet是定位于提供某种水平的网络连接性的移动设备。运行MIDlet的设备也有好几个共同的属性:有限的屏幕大小,内存和处理能力,这个规范是设计来满足这些需求,典型的设备包含行动电话和呼叫器。JAD文件修改后台在安装程序前用文本编辑器打开jad文件,在文件的末尾加上如下代码,我以一个游戏为例:


原jad文件如下:
Manifest-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-Name: Gold Rush
Created-By: 1.5.0 _04 (Sun
Microsystems Inc.)
Ant-Version: Apache Ant 1.6.2
MIDlet-Vendor: wangshanbina
MIDlet-1: Gold Rush,/Icon.png,BinLifeMidlet
MIDlet-Version: 1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-Jar-Size: 67307
MIDlet-Jar-URL: GoldRush_Loser008.jar


修改后的JAD文件如下:
Manifest-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-Name: Gold Rush
Created-By: 1.5.0 _04 (Sun Microsystems Inc.)
Ant-Version: Apache Ant 1.6.2
MIDlet-Vendor: Loser008
MIDlet-1: Gold Rush,/Icon.png,BinLifeMidlet
MIDlet-Version: 1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-Jar-Size: 67307
MIDlet-Jar-URL: GoldRush_Loser008.jar
Background: True
FlipInsensitive: True
MIDxlet-Resident: Y

请注意上段jad代码的部分,我们只要在jad文件的末尾加上


Background: True
FlipInsensitive: True
MIDxlet-Resident: Y


这三行代码就可以实现JAVA程序在后台运行!


如何实现在后台运行?打开JAVA程序后,按挂机键,会出现四个选项:
暂停
恢复
退出
在后台运行


选中最后一个,这样JAVA程序还是在运行状态,而不是暂停状态!

再次打开JAVA时,就会出现
暂停
恢复
退出
在后台运行
四个选项,也就说明,无法多开JAVA程序!


看完上面的内容后,相信大家都对jad有所了解吧.其实jad也是纯文本文件,只是后缀名不是txt,而是jad,所以就可以用手机来编辑jad文件.现在教大家在手机上制作jad文件.前提,手机要支持文件系统!!


首先,下个俄版opm.按菜单>打开>文件管理>进入other文件夹>菜单>操作>新建文件>输入 x.jad>确定>把光标移到刚建立的文件>菜单>打开>文本/UTF>菜单>编辑>输入以下()内的内容
(MIDlet-Name: 名称
MIDlet-Version: 0.0.0
MIDlet-Vendor: 提供商
MIDlet-Jar-URL: http://
MIDlet-Jar-Size: 0)

然后在相应的地方填上正确的信息>确定>菜单>保存页面.这就制成了最基本最简单的jad文件了.这样的jad文件对jar是没有任何修改的,只起到安装向导的作用.但只要再加入一些其他的命令,就能对jar稍作修改了,自己研究研究吧.

为了方便大家,我把上面()内的内容做成个模版,大家只要在这个模版的基础进行改进就能制作出所需的jad文件了,试试吧!
   发表时间:2010-09-10  
你好,我测试后并没有出现上面提到的四个选项,请问这些设置跟手机型号有关吗?是不是智能手机才可以呢?
0 请登录后投票
   发表时间:2010-09-13  
是j2me的手机
0 请登录后投票
   发表时间:2010-09-13  
ming_fanglin 写道
是j2me的手机

j2me的手机是什么样的手机? 支持java的手机就是吗?
0 请登录后投票
   发表时间:2010-09-30  
不是display.setcurrent(null)可以了吗?
0 请登录后投票
   发表时间:2010-10-10  
挂电话那个键
手机不一样面不一样的,像e398,有几个提示。n73好像是直接退出了,按菜单键就是在后台运行。
此外,jad的这些配置并不是万能的,还是得看真机。
真机移植的事,烦的要死。现在搞android好办很多
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics