12
Lab 1 Introduction to J2ME Pervasive Computing Lab Prepared by: Tuan Nguyen E-mail: [email protected]

Lab 1 new

Embed Size (px)

Citation preview

Page 1: Lab 1 new

Lab 1 Introduction to J2ME

Pervasive Computing LabPrepared by: Tuan Nguyen

E-mail: [email protected]

Page 2: Lab 1 new

Java Micro-Edition

Image from java.sun.com

Page 3: Lab 1 new

K virtual machine

• The K virtual machine (KVM) is Sun's newest Java virtual machine technology and is designed for products with approximately 128K of available memory.

• This environment is highly optimized for small-memory limited-resource connected devices such as cellular phones, pagers, PDAs

• http://java.sun.com/products/cldc/wp/

Page 4: Lab 1 new

Configuration for Small Devices-CLDC

• CLDC: The Connected Limited Device Configuration. – Example: devices with 128 to 512KB of memory available

for Java applications.

Mobile phones, PDAs

Page 5: Lab 1 new

MIDP

• Mobile Information Device Profile (MIDP): A widely adopted example is to combine the CLDC with the MIDP to provide a complete Java application environment for mobile phones and other devices with similar capabilities.

• The latest versions of MIDP is 2.1 • The latest versions of CLDC 1.1

Page 6: Lab 1 new

What is JSR ?

• The Java Community Process (JCP): is a participative process to develop and revise the Java™ technology specifications, reference implementations, and test suites (http://jcp.org)

• Java Specification Requests– JSR-82: Bluetooth API– JSR-120: Wireless Messaging API– JSR-179: Location API

• Find suitable devices: – Ex: http://www.forum.nokia.com/devices/E61i

Page 7: Lab 1 new

MIDLet Life Cycle*

• MIDP applications are managed by the Application Management Software (AMS) on devices.

• The AMS starts, stops, or pauses the MIDP application by calling its main MIDlet class’s life cycle methods.

• The MIDlet can also notify the AMS when its state changes.

• javax.microedition.midlet.MIDlet*: M. J. Yuan, Enterprise J2ME Developing Mobile Java Application, Prentice Hall, 2004

Page 8: Lab 1 new

MIDLet Life Cycle MethodsMethod Description

startApp() Called by the AMS when the MIDlet starts to recover from the pause state

destroyApp() Called by the AMS when the MIDlet is terminated

pauseApp() Called by the AMS when the MIDlet is paused

notifyDestroyed() Called by the MIDlet. It asks the AMS to destroy the MIDlet itself

notifyPaused() Called by the MIDlet. It asks the AMS to pause the MIDlet itself.

resumeRequest() Called by the MIDlet. It notifies the AMS that MIDlet desires to come out of the paused state and become active again

Page 9: Lab 1 new

HelloWorld.javaimport javax.microedition.lcdui.*;import javax.microedition.midlet.*;

public class HelloWorld extends MIDlet { Alert strAlert; public HelloWorld() { strAlert = new Alert("Alert!"); strAlert.setString("Hello World") } public void startApp() {

Display.getDisplay(this).setCurrent(strAlert); } public void pauseApp() {} public void destroyApp(boolean unconditional) {}

}

Page 10: Lab 1 new

Run project

• Click on Run button

Page 11: Lab 1 new

Examine the files

• Check those directory: – .\bin ; .\classes; .\res

• Examine the file: .\bin\HelloWorld.jad and .\bin\MANIFEST.MF– MIDlet-1: HelloWorld, HelloWorld.png, HelloWorld– MIDlet-Jar-Size: 100– MIDlet-Jar-URL: HelloWorld.jar– MIDlet-Name: HelloWorld– MIDlet-Vendor: Unknown– MIDlet-Version: 1.0– MicroEdition-Configuration: CLDC-1.1– MicroEdition-Profile: MIDP-2.1

Page 12: Lab 1 new

References

1. Java.sun.com 2. JCP – http://jcp.org 3. Michael Juntao Yuan, Enterprise J2ME

Developing Mobile Java Application, Prentice Hall, 2004

4. www.forum.nokia.com