3G 手机开发网
踏实平凡人应该遵守的原则!
gooogledev@gmail.com
友情链接
我的j2me创意
Wap浏览器的源代码
用自己写的rms引擎写的电话本
用一个简单的例子来看MIDlet 的生命周期
想来估计也没有比网上教程说的更清楚了,我这里摘录的只是文字,从www.j2medev.com来获取,更详细的资料可以到www.j2medev.com上查看。我将会以一个例子跟查看官方的源代码来分析它们。
理解J2ME 的体系结构并不像想象的那么容易,我们觉得读更多的资料帮助也不大,我们
直接迈向J2ME 开发也许会对你理解J2ME 平台体系结构这个重要的概念有所帮助。在MIDP
中定义了一种新的应用程序模型MIDlet,它是被Application Management Software(AMS)管理
的。AMS 负责MIDlet 的安装、下载、运行和删除等操作。在被AMS 管理的同时,MIDlet 可
以和应用管理软件通信通知应用管理软件自己状态的变化,通常是通过方法notifyDestroyed()
和notifyPaused()实现的
MIDlet 有三个状态,分别是pause、active 和destroyed。在启动一个MIDlet 的时候,应用
管理软件会首先创建一个MIDlet 实例并使得他处于pause 状态,当startApp()方法被调用的时候
MIDlet 进入active 状态,也就是所说的运行状态。在active 状态调用destroyApp(boolean
第1 章 J2ME 技术概述
4
unconditional)或者pauseApp()方法可以使得MIDlet 进入destroyed 或者pause 状态。值得一提的
是destroyApp(boolean unconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS 通
知MIDlet 进入destroyed 状态。在destroyed 状态的MIDlet 必须释放了所有的资源,并且保存了
数据。如果unconditional 为false 的时候, MIDlet 可以在接到通知后抛出
MIDletStateChangeException 而保持在当前状态,如果设置为true 的话,则必须立即进入destroyed
状态。下图说明了MIDlet 状态改变情况:
Copyright @ 3G工作室 Powered by: .Text and ASP.NET Theme by: .NET Monster