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