Midlets, Midlet documentation, Midlet life cycle – Siemens TC65 User Manual
Page 34: 6 midlets, 1 midlet documentation, 2 midlet life cycle
TC65 JAVA User's Guide
Strictly confidential / Released
s
TC65 JAVA User's Guide_V05
Page 34 of 90
26.09.2005
6 MIDlets
The J2ME™ Mobile Information Device Profile (MIDP) provides a targeted Java API for
writing wireless applications. The MIDP runs on top of the Connected Limited Device
Configuration (CLDC), which in turn, runs on top of the J2ME™. MIDP applications are
referred to as MIDlets. MIDlets are controlled by the mobile device implementation that
supports the CLDC and MIDP. Since IMP-NG is a subset of MIDP 2.0, IMP includes MIDlets.
The MIDlet code structure is very similar to applet code. There is no main method and
MIDlets always extend from the MIDlet class. The MIDlet class in the MIDlet package
provides methods to manage a MIDlet’s life cycle.
6.1 MIDlet
Documentation
MIDP and MIDlet documentation can be found at
http://wireless.java.sun.com/midp/
and in
the html document directory of the wtk,
…\Siemens\SMTK\TC65\wtk\doc\index.html
6.2
MIDlet Life Cycle
The MIDlet life cycle defines the protocol between a MIDlet and its environment through a
simple well-defined state machine, a concise definition of the MIDlet’s states and APIs to
signal changes between the states. A MIDlet has three valid states:
• Paused – The MIDlet is initialised and is quiescent. It should not be holding or using any
shared resources.
• Active – The MIDlet is functioning normally.
• Destroyed – The MIDlet has released all of its resources and terminated. This state is only
entered once.
State changes are affected by the MIDlet interface, which consists of:
• pauseApp() – the MIDlet should release any temporary resources and become passive.
• startApp() – the MIDlet starts it’s execution, needed resources can be acquire here or in
the MIDlet constructor
• destroyApp() – the MIDlet should save any state and release all resources
• Note: destroyApp() is called when a MIDlet should terminate caused by device.
• notifyDestroyed() – the MIDlet notifies the application management software that it has
cleaned up and is done
• Note: the only way to terminate a MIDlet is to call notifyDestroyed(), but destroyApp() is
not automatically called by notifyDestroyed().
• notifyPaused() – the MIDlet notifies the application management software that it has
paused
• resumeRequest() – the MIDlet asks application management software to be started again.
° getAppProperty() – gets a named property from the MIDlet