http://mobilephones.kom.aau.dk
Mobile Phone Programming Mobile Phone Programming
Free Study Activity Day 3 DAY 3 – J2ME
http://mobilephones.kom.aau.dk
Part 1
DAY 3 – J2ME
- Introduction
- J2ME architecture
Mobile Phone Programming Mobile Phone Programming Free Study - - PDF document
DAY 3 J2ME Mobile Phone Programming Mobile Phone Programming Free Study Activity Day 3 http://mobilephones.kom.aau.dk DAY 3 J2ME Part 1 Java 2 Micro Edition (J2ME) overview Introduction J2ME architecture
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
* Source: Nokia, February 2006 ** Source: Sun Microsystems, March 2005 *** Source: Symbian, February 2006 **** Source: Ovum, June 2005 ***** Source: Informa Telecoms & Media. June 2005
http://mobilephones.kom.aau.dk
kinds of applications (enterprise,multimedia-music applications)
http://mobilephones.kom.aau.dk
Card VM Card VM Card VM Java Card Card VM KVM Card VM CLDC Card VM CDC Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java Virtual Machine Java 2 Micro edition Card VM Card VM Card VM Java Card KVM Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java 2 Micro edition
– Multiuser, enterprise-wide applications – Based on J2SE + several APIs for server-side computing
http://mobilephones.kom.aau.dk
Card VM Card VM Card VM Java Card Card VM KVM Card VM CLDC Card VM CDC Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java Virtual Machine Java 2 Micro edition Card VM Card VM Card VM Java Card KVM Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java 2 Micro edition
– Designed for desktop computers – Runs on top of OS:Linux, Windows …
http://mobilephones.kom.aau.dk
Card VM Card VM Card VM Java Card Card VM KVM Card VM CLDC Card VM CDC Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java Virtual Machine Java 2 Micro edition Card VM Card VM Card VM Java Card KVM Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java 2 Micro edition
– Designed for small capabilities devices that cannot support a full J2SE implementation
http://mobilephones.kom.aau.dk
Card VM Card VM Card VM Java Card Card VM KVM Card VM CLDC Card VM CDC Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java Virtual Machine Java 2 Micro edition Card VM Card VM Card VM Java Card KVM Java 2 Standard Edition (J2SE) Java 2 Standard Edition (J2SE) Java 2 Enterprise Edition (J2EE) Java 2 Enterprise Edition (J2EE) Java Virtual Machine Java 2 Micro edition
– provides a secure environment for applications that run on smart cards and other devices with very limited memory and processing capabilities.
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
CLDC MIDP Profile Optional Packages KVM
is a compact, portable Java virtual machine intended for resource-constrained devices
provides the most basic set of libraries, virtual machine features and APIs resource-constrained devices
is a collection of different APIs and libraries and it
applications, such as user interface, networking support and persistent storage.
additional APIs Operating System
J2ME works on the top of the OS of the device
http://mobilephones.kom.aau.dk
CLDC MIDP Profile Optional Packages KVM
J2ME
http://mobilephones.kom.aau.dk
the Java platform.
connection and with limited (often 9600 bps or less) bandwidth.
– There are 2 versions of CLDC:
CLDC MIDP Profile Optional Packages KVM
J2ME
http://mobilephones.kom.aau.dk
– 128KB of non-volatile memory for the MIDP implementation – 32KB of volatile memory for the runtime heap – 8KB of non-volatile memory for persistent data – Input capacity (screen, keyboard, touch) – Screen size of at least 96x54 pixels
– MIDP 1.0 – MIDP 2.0
CLDC MIDP Profile Optional Packages KVM
J2ME
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
Paused Destroyed Active
AMS invokes MIDlet contructor AMS invokes startApp() AMS invokes pauseApp() AMS invokes destroyApp() AMS reclaims MIDlet AMS invokes destroyApp()
– AMS creates a new instance of the MIDlet class (call constructor)
http://mobilephones.kom.aau.dk
import javax.microedition.midlet.*; public class Example extends MIDlet { public void startApp() { } public void destroyApp(boolean unconditional) { } public void pauseApp() { } }
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
http://mobilephones.kom.aau.dk
– A record is uniquely identified by its Record ID – A record is an array of bytes
– If a record is deleted from the Record Store, its RecordId will never be assigned to any other record