第2讲MIDP应用程序开发

更新时间:2023-09-06 20:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2讲MIDP应用程序开发

第2章 J2ME开发入门MIDP应用程序

第2讲MIDP应用程序开发

学习目标掌握如何建立MIDP应用程序 理解MIDlet包 掌握MIDlet生命周期 掌握MIDlet生命周期中的方法 掌握如何建立清单文件 掌握如何获取清单文件的MIDlet属性 掌握如何将多个MIDlet打包到MIDlet套件中

第2讲MIDP应用程序开发

MIDlet概述MIDP适合于类似蜂窝电话和寻呼机之类的 设备,它以CLDC为基础。 MIDlet是一个扩展了抽象类 javax.microedition.midlet.MIDlet的java类。 它必须实现三个抽象方法startApp(), pauseApp()和destroyApp()。这三个方法构 成了MIDlet应用程序的生命周期。 MIDlet应用程序的三个状态:运行状态、暂 停状态以及销毁状态。

第2讲MIDP应用程序开发

MIDlet包MIDlet包结构如下:Javax.microedition.midlet

MIDlet<<abstract>> #MIDlet() #startApp() #pauseApp() #destroyApp(boolean unconditional)

MIDletStateChangeException http://www.77cn.com.cnng.Object http://www.77cn.com.cnng.Throwable http://www.77cn.com.cnng.Exception Javax.microedition.midlet. MIDletStateChangeException

第2讲MIDP应用程序开发

MIDlet套件MIDlet套件中包含以下文件: 用于运行应用程序的jar文件(清单文件、类文件和资 源文件) 用于描述jar文件的清单文件:MANIFEST.MF java应用描述文件(java application descriptor) 即jad文件。 清单文件向移动设备提供jar文件内容的打包信息 (MIDlet名字、版本、简档和规范等),它驻留于 jar文件中。Jad文件描述jar文件的大小和存储位置, 它不在jar文件中。

第2讲MIDP应用程序开发

MIDlet套件清单文件和JAD文件都用于AMS识别和安装MIDlet Suite。清单文件必须包括MIDlet-Name/MIDletVersion/MIDlet-Vendor/MicroEdition-Profile/ MicroEdition-Configuration 属性。JAD文件必须包含MIDlet-Name/MIDletVersion/MIDlet-Vendor/MIDlet-Jar-URL/MIDletJar-Size属性。并且前三个属性的取值必须相同, 否则MIDlet不能安装。对于其它属性值,如果不一 致,则JAD中的值会覆盖清单文件中的值。

第2讲MIDP应用程序开发

MIDlet套件清单文件必须包含的属性: MIDlet-Name/MIDlet-Version/MIDlet-Vendor/ MicroEdition-Profile/ MicroEdition-Configuration JAD文件必须包含的属性: MIDlet-Name/MIDlet-Version/MIDlet-Vendor/ MIDlet-jar-URL, MIDlet-jar-size

第2讲MIDP应用程序开发

MIDlet套件JAD文件不是必需的,如果不提供该文件,则 MIDlet-Jar-URL/MIDlet-Jar-Size属性必须在清单文 件中出现。但此时需要打包两次,第一次获得jar文 件的大小,然后修改清单文件并重新打包。可见提 供jad文件将会简化MIDlet程序的打包。 可以在这两个文件中加入自定义的属性。但属性名 不能以MIDlet-或MicroEdition-开头。 在程序中获取这个两个文件中的属性值可用 MIDlet.getAppProperty()方法。 每个文件中都不能包含相同的属性名。

第2讲MIDP应用程序开发

清单文件和JAD文件清单文件和jad文件都是用来描述jar文件的一 些重要信息的。它们的不同在于清单文件驻 留于jar文件中,而jad文件不在。 由于jar文件比较大,要将其下载到设备需要 较长时间。所

以设备总是先下载较小的jad文 件来获知jar文件的大小和位置。 Jad文件的好处是: 简化MIDlet程序的打包。 方便AMS识别MIDlet程序,便于下载安装。

第2讲MIDP应用程序开发

MIDlet应用程序使用J2ME Wireless Toolkit创建MIDlet应用 程序。 将多个MIDlet应用程序打包到MIDlet套件中 将MIDlet应用程序导入到手机中。

第2讲MIDP应用程序开发

MIDlet生命周期每个MIDlet必须继承MIDlet类,该类提供了抽象方 法,从而允许AMS顺利的启动、停止和销毁MIDlet。 与MIDlet生命周期有关的概念 应用管理平台(AMS)设备的软件操作环境,用于管理 MIDlet应用程序。 MIDlet应用程序,用于通知AMS MIDlet所处的状态。 MIDlet状态:运行状态、暂停状态和销毁状态。

第2讲MIDP应用程序开发

MIDlet状态转换暂停状态当MIDlet应用程序在初始化或静止时,MIDlet处于 暂停状态。此时MIDlet不占有任何共享资源。以下情况 MIDlet会进入暂停状态: 加载MIDlet 时,最初是处于暂停状态,这是程序通过默认的 构造方法来调用。此时如果程序抛出异常,MIDlet将会有暂 停状态马上转入销毁状态,销毁应用程序; 当在活动状态时,AMS调用了MIDlet.pauseApp()方法并成功 返回时。 当在活动状态时,MIDlet调用了MIDlet.notifyPaused()方法并 成功返回时。 在活动状态时,startApp()方法抛出 MIDletStateChangeException异常时。

第2讲MIDP应用程序开发

MIDlet状态转换运行状态:当程序成功调用startApp()方法时, 程序将会进入运行状态。以下情况MIDlet会 结束正常运行: 当出现MIDletStateChangeException异常时。 此时MIDlet进入暂停状态,以后可以再运行。 若startApp()方法检测到一个错误条件而且不 可恢复,它会调用其notifyDestroyed()方法, 从而进入销毁状态。

第2讲MIDP应用程序开发

MIDlet状态转换销毁状态:MIDlet释放所有资源并终止。以 下情况MIDlet进入销毁状态: 当AMS调用MIDlet.destroyApp()方法并成功 返回时。 当MIDlet调用MIDlet.notifyDestroyed()成功返 回时。MIDlet在调用MIDlet.notifyDestroyed() 之前必须进行与MIDlet.destroyApp()方法同 样的工作。

第2讲MIDP应用程序开发

MIDlet状态转换图图示如下:New Constructor startApp() 暂停状态 (Paused) pauseApp() resumeRequest() notifyPaused() notifyDestroyed() 运行状态 (Active)

destroyApp(boolean)

destroyApp(boolean)

销毁状态(Destroyed)

第2讲MIDP应用程序开发

MIDlet生命周期中的6个方法AMS控制MIDlet的方法: startApp() pauseApp() destroyApp(boolean) MIDlet主动请求AMS改变其状态的方法 resumeRequest() notifyPaused() notifyDestroyed()

第2讲MIDP应用程序开发

Thank You!!!

第2讲MIDP应用程序开发

Mobility Pack 4.1可以和NetbeansIDE4.1无 缝集成,支持CLDC1.1和MIDP2.0开发环境 演示安装开发环境

比起安装和配置eclipse的烦琐过程, NetbeansIDE显得更加出色

第2讲MIDP应用程序开发

新建文件夹:切换到文件视图,“新建”->” 其他” ->“文件夹” 如果开发过程中遇到无法从Jar包中读取图片 的问题,通常是由于项

目的捆绑资源设置不 正确。办法:选择[属性] ->[库和资源] ->[添 加文件夹]

本文来源:https://www.bwwdw.com/article/qjch.html

Top