160 likes | 303 Views
Basics of J2ME. 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 showing various editions. Java 2 Enterprise Edition (J2EE). Java 2 Standard Edition (J2SE).
E N D
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 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)
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 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
CDC 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
CLDC 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
The Java API’s J2SE CDC CLDC
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 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 CE00213-M Mobile Applications and Systems
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”)
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
Mobile Information Device Profile (MIDP) • High level API’s • Textfields, lists, forms and images for programs such as e-commerce applications & basic user interfaces • Low level API’s • Incorporate graphics & shapes at precise pixel locations, provides animation for games applications
Configuration for Small Devices - The Connected Limited Device Configuration (CLDC)
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