170 likes | 326 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. Quote from Sun
E N D
Basics of J2ME CE00213-M Mobile Applications and Systems
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. CE00213-M Mobile Applications and Systems
Basics 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” CE00213-M Mobile Applications and Systems
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) CE00213-M Mobile Applications and Systems
The Java Platform Source:http://java.sun.com/javame/technology/index.jsp CE00213-M Mobile Applications and Systems
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). “ CE00213-M Mobile Applications and Systems
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 CE00213-M Mobile Applications and Systems
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 CE00213-M Mobile Applications and Systems
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 CE00213-M Mobile Applications and Systems
The Java API’s J2SE CDC CLDC CE00213-M Mobile Applications and Systems
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.” CE00213-M Mobile Applications and Systems
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”) CE00213-M Mobile Applications and Systems
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 CE00213-M Mobile Applications and Systems
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 Download the J2ME wireless toolkit from: http://java.sun.com/products/j2mewtoolkit/download-2_1.html CE00213-M Mobile Applications and Systems
Configuration for Small Devices - The Connected Limited Device Configuration (CLDC) Source:http://java.sun.com/javame/technology/index.jsp CE00213-M Mobile Applications and Systems
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 CE00213-M Mobile Applications and Systems