Title: Basics of J2ME
1Basics of J2ME
2Basics of J2ME
- Objectives
- Understand the different java APIs and how the
mobile edition APIs fit in - Understand what a mobile configuration and
profile is.
3Basics of J2ME
- Quote from Sun
- The Micro Edition of the Java 2 Platform
provides an application environment that
specifically addresses the needs of commodities
in the vast and rapidly growing consumer and
embedded space, including mobile phones, pagers,
personal digital assistants, set-top boxes, and
vehicle telematics systems
4Basics of J2ME showing various editions
Java 2 Enterprise Edition (J2EE)
Java 2 Standard Edition (J2SE)
MIDP
Profile Level
CDC
CLDC
Configuration Level
Java Virtual Machine
KVM
Java 2 Micro Edition (J2ME)
5The Java Platform
Sourcehttp//java.sun.com/javame/technology/index
.jsp
6Basics of J2ME
- Configurations
- Configurations comprise a virtual machine and a
minimal set of class libraries. They provide the
base functionality for a particular range of
devices that share similar characteristics, such
as network connectivity and memory footprint.
Currently, there are two J2ME configurations the
Connected Limited Device Configuration (CLDC) and
the Connected Device Configuration (CDC).
7Basics of J2ME
- Configurations
- Connected Device Configuration (CDC)
- 512 kilobytes (minimum) memory for running Java
- 256 kilobytes (minimum) for runtime memory
allocation - Network connectivity, possibly persistent and
high bandwidth - Connected, Limited Device Configuration (CLDC)
- 128 kilobytes memory for running Java
- 32 kilobytes memory for runtime memory allocation
- Restricted user interface
- Low power, typically battery powered
- Network connectivity, typically wireless, with
low bandwidth and intermittent access
8CDC Packages
- CDC Package Name Description
- java.io standard I/O classes interfaces
- java.lang VM classes
- java.lang.ref Reference classes
- java.lang.reflect Reflection classes
interfaces - java.math Math package
- java.net Networking classes interfaces
- java.security Security classes interfaces
- java.security.cert Security certificate classes
- java.text Text package
- java.util standard utility classes
- java..util.jar JAR utility classes
- java.util.zip ZIP utility classes
- javax.microedition.io CDC generic connection
framework - classes and interfaces
9CLDC Packages
- java.io standard I/O classes interfaces
- java.lang VM classes
- java.util standard utility classes
- javax.microedition.io CDC generic connection
framework - classes and interfaces
10The Java APIs
J2SE
CDC
CLDC
11Basics of J2ME
- Profiles
- To provide a complete runtime environment for a
specific device category a configuration must be
combined with a profile, a set of higher-level
APIs that further define the application
life-cycle model, the user interface, and access
to device-specific properties. A profile supports
a narrower category of devices within the
framework of a chosen configuration. A widely
adopted example is to combine CLDC with the
Mobile Information Device Profile (MIDP) to
provide a complete Java application environment
for cell phones and other devices with similar
capabilities.
12Basics of J2ME
- Profiles
- An extension to a configuration
- Provides libraries for a developer to write
applications for a particular device - Mobile Information Device Profile (MIDP) defines
APIs for user interface components, input
event handling, persistent storage, networking
timers, allowing for screen memory limitation
of mobile devices
13Basics of J2ME
- Java Virtual Machines
- The JVM (java virtual machine) translates the
class files into machine code for platform
running the JVM - The JVM is also responsible for providing
security, allocating freeing memory managing
threads - For CDC the virtual machine is the same J2SE
(re-engineered) - For CLDC the virtual machine is KVM (Kilobytes
virtual machine) - 128 Kbytes of memory for running the JVM CLDC
libraries must preserve its content when device
is switched off (non volatile memory) - 32 Kbytes during application runtime for
allocation of objects (volatile memory or the
heap)
14Mobile Information Device Profile (MIDP)
- MIDP is a set of APIs that allow developers to
handle mobile device specific issues - MIDP contains packages
- javax.microedition.lcdui
- Has classes to enable developers to construct
user interfaces - javax.microedition.io
- Allows networking between midlets and other
systems - javax.microedition.rms
- Allows local storage
- javax.microedition.midlet
- Defines the midlet lifecycle
15Mobile Information Device Profile (MIDP)
- High level APIs
- Textfields, lists, forms and images for programs
such as e-commerce applications basic user
interfaces - Low level APIs
- Incorporate graphics shapes at precise pixel
locations, provides animation for games
applications
Download the J2ME wireless toolkit from
http//java.sun.com/products/j2mewtoolkit/download
-2_1.html
16Configuration for Small Devices - The Connected
Limited Device Configuration (CLDC)
Sourcehttp//java.sun.com/javame/technology/index
.jsp
17References
- Beginning J2ME from Novice to Professional 3rd
edition 2005 - Sing Li, Jonathan Knudsen
- Publisher Apress
- ISBN 1-59059-479-7
- Core J2ME Technology MIDP 2002
- Muchow J.W
- Publisher Sun microsystem
- ISBN 0-13-066911-3