Java User’s Guide

6 MIDlets

s

6 MIDlets

The Java METM Mobile Information Device Profile (MIDP) provides a targeted Java API for writ- ing wireless applications. The MIDP runs on top of the Connected Limited Device Configuration (CLDC), which in turn, runs on top of the Java METM. 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.1MIDlet 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\<productname>\wtk\doc\index.html

6.2MIDlet Life Cycle

The MIDlet life cycle defines the protocol between a MIDlet and its environment through a sim- ple 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 controlled by the MIDlet interface, which supports the following methods:

pauseApp() – the MIDlet should release any temporary resources and become passive.

startApp() – the MIDlet starts its execution, needed resources can be acquired here or in the MIDlet constructor.

Note: Take care that the startApp() method is always properly terminated before calling the destroyApp() method. For example, avoid that threads launched by startApp() enter a closed loop, and be sure that all code was entirely executed. This is especially important for OTAP, which needs to call destroyApp().

destroyApp() the MIDlet should save any state and release all resources

Note: To destroy only the Java application without switching off the module, the destroyApp() method can be called explicitly. To destroy the Java application and switch off the module at the same time, it is sufficient to send the AT^SMSO command from some- where in your code, because this procedure implies calling the destroyApp() method. Like- wise, resetting the module with AT+CFUN=x,1 also implies calling the destroyApp() method. Note that AT+CFUN=x,1 will restart the module – to restart Java afterwards either use the autostart mode configured with AT^SCFG or restart Java with AT^SJRA.

From this you can see that the commands AT^SMSO and AT+CFUN=x,1 should never be sent within the destroyApp() method. It is good practice to always call the notifyDestroyed() method at the end of your destroyApp method. And use the destroyApp method as single exit point of your midlet.

wm_java_usersguide_v12

Page 50 of 123

2008-02-25

Confidential / Released

 

 

Page 50
Image 50
Siemens XT75, TC65, AC65, XT65 manual MIDlets, MIDlet Documentation MIDlet Life Cycle

AC65, XT65, XT75, TC65 specifications

The Siemens TC65 is a compact and powerful GSM/GPRS module designed for a wide range of mobile communication applications. With its robust features, the TC65 perfectly meets the growing demands for connectivity in various industries, including automotive, telematics, and industrial automation.

A standout feature of the TC65 is its compact size, allowing it to be easily integrated into various devices without compromising on performance. The module supports GSM (Global System for Mobile Communications) and GPRS (General Packet Radio Service), providing reliable and efficient voice and data transmission.

One of the key technologies incorporated in the TC65 is its integrated TCP/IP stack, which allows for seamless internet connectivity and enables application developers to create IoT solutions with ease. This capability is essential for remote monitoring, data logging, and other applications that require continuous data exchange.

The TC65 also boasts extensive multimedia capabilities, including support for SMS, MMS, and voice calls. This makes it suitable for applications that require not only data transmission but also communication features. Additionally, it supports various codecs for voice compression, ensuring high-quality audio in voice applications.

Enhanced security features are another highlight of the TC65. It incorporates comprehensive security protocols to safeguard data transmission, making it suitable for sensitive applications in finance, healthcare, and other critical sectors. The module also includes an integrated SIM application toolbox that supports the development of secure and customizable applications.

For developers, the TC65 offers an easy-to-use software development kit (SDK), simplifying the process of application development. This means that businesses can quickly create and deploy solutions tailored to their specific needs.

The module operates across a wide voltage range and is designed to tolerate challenging environmental conditions, making it ideal for industrial use. It supports various interfaces, including UART, GPIO, and I2C, enabling it to connect with a variety of peripherals and sensors, thus expanding its usability.

In summary, the Siemens TC65 combines compact design, versatile communication capabilities, advanced security features, and developer-friendly resources, making it an excellent choice for anyone looking to implement reliable and sophisticated GSM/GPRS communication in their applications. The TC65 is a valuable asset in the evolving landscape of connected devices and IoT solutions.