第2讲MIDP应用程序开发
第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 ng.Object ng.Throwable ng.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包中读取图片 的问题,通常是由于项
目的捆绑资源设置不 正确。办法:选择[属性] ->[库和资源] ->[添 加文件夹]
…… 此处隐藏:1851字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




