Basics of J2ME

Download Report

Transcript Basics of J2ME

Basics of J2ME
Basics of J2ME
1
Basics of J2ME
• Objectives
– Understand the different java API’s and how the mobile edition
API’s fit in
– Understand what a mobile configuration and profile is.
Basics of J2ME
2
Basics of J2ME showing various editions
Java 2
Enterprise
Edition
(J2EE)
Java 2
Standard
Edition
(J2SE)
Java Virtual Machine
MIDP
CDC
CLDC
Profile Level
Configuration Level
KVM
Java 2 Micro Edition (J2ME)
Basics of J2ME
3
The Java Platform
Basics of J2ME
4
Basics 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). “
Basics of J2ME
5
Basics 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)
–
–
–
–
–
Basics of J2ME
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
6
CDC Packages
CDC Package Name
Description
java.io
java.lang
java.lang.ref
java.lang.reflect
java.math
java.net
java.security
java.security.cert
java.text
java.util
java..util.jar
java.util.zip
javax.microedition.io
standard I/O classes & interfaces
VM classes
Reference classes
Reflection classes & interfaces
Math package
Networking classes & interfaces
Security classes & interfaces
Security certificate classes
Text package
standard utility classes
JAR utility classes
ZIP utility classes
CDC generic connection framework
classes and interfaces
Basics of J2ME
7
CLDC Packages
java.io
java.lang
java.util
javax.microedition.io
Basics of J2ME
standard I/O classes & interfaces
VM classes
standard utility classes
CDC generic connection framework
classes and interfaces
8
The Java API’s
J2SE
CDC
Basics of J2ME
CLDC
9
Basics 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.”
Basics of J2ME
10
Basics 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 API’s for user
interface components, input & event handling, persistent storage,
networking & timers, allowing for screen & memory limitation of
mobile devices
Basics of J2ME
CE00213-M Mobile Applications and Systems
11
Basics 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 it’s content when device is switched off (non
volatile memory)
• 32 Kbytes during application runtime for allocation of objects
(volatile memory or the “heap”)
Basics of J2ME
12
Mobile Information Device Profile (MIDP)
• MIDP is a set of API’s 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
Basics of J2ME
13
Mobile Information Device Profile (MIDP)
• High level API’s
– Textfields, lists, forms and images for programs such as ecommerce applications & basic user interfaces
• Low level API’s
– Incorporate graphics & shapes at precise pixel locations, provides
animation for games applications
Basics of J2ME
14
Configuration for Small Devices - The Connected
Limited Device Configuration (CLDC)
Basics of J2ME
15
References
• 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
Basics of J2ME
16