Introduction to Java ME

The Java™ platform is available in three different editions, each optimised for a specific application environment:

  • Java Platform, Standard Edition (Java SE)

  • Java Platform, Enterprise Edition (Java EE)

  • Java Platform, Micro Edition (Java ME)

The three editions are similar in their fundamental aspects and share the common Java characteristics, such as automatic garbage collection and cross-platform virtual machine architecture.

Java ME offers a standard framework for developing Java applications for mobile and other embedded devices, such as mobile phones, and is optimised for an application environment with limited memory and computing resources. Java ME shares a number of APIs with Java SE and Java EE, so you can easily adapt your Java programming skills to create mobile Java applications.

To run Java ME applications, devices must implement a configuration. Configurations specify the minimum set of Java APIs and virtual machine features required to implement a Java ME runtime environment. Java ME defines two configurations:

  • Connected Device Configuration (CDC)

  • Connected Limited Device Configuration (CLDC)

To provide developers a full platform for creating Java ME applications, devices must also implement a profile. Profiles sit on top of configurations and specify further Java APIs that focus on specific groups of devices. Mobile devices use the Mobile Information Device Profile (MIDP) on top of CLDC. MIDP adds Java APIs specific to resource-constrained devices such as cell phones. Any device that implements a CLDC configuration and a MIDP profile can run Java ME applications developed for any other device with a corresponding implementation. Java ME applications that use MIDP are called MIDlets.

In addition to the mandatory CLDC configuration and MIDP profile, mobile devices can support additional APIs for more specific purposes, such as drawing vector graphics, using advanced multimedia features, or accessing web services.

The following figure provides an overview of the different Java platforms editions.

Figure: Java platform editions

The following table summarizes the additional APIs and plug-ins supported on Nokia Asha and Series 40 software platforms:

APIs and plug-ins

API/ Plug-in Name

Supported from Nokia Asha software platform

Supported from Series 40 developer platform

Nokia APIs

Theme API

Nokia Asha Software Platform 1.4

 
 

Share API

Nokia Asha Software Platform 1.1

 
 

VoIP API

Nokia Asha Software Platform 1.1

 
 

Nokia Notifications API

Nokia Asha Software Platform 1.0

 
 

File Select API

Nokia Asha Software Platform 1.0

 
 

Image Scaling API

Nokia Asha Software Platform 1.0

 
 

Network State API

Nokia Asha Software Platform 1.0

 
 

Contact API

Nokia Asha Software Platform 1.0

 
 

Phone Setting API

Nokia Asha Software Platform 1.0

 
 

Nokia Gesture API

Nokia Asha Software Platform 1.0

Series 40 6th Edition Feature Pack 1

 

Nokia Frame Animator API

Nokia Asha Software Platform 1.0

Series 40 6th Edition Feature Pack 1

 

Nokia UI API

Nokia Asha Software Platform 1.0

Series 40 Developer Platform 2.0

Standard J2ME APIs

JSR-75 FileConnection API 1.0 Optional Package

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-75 PIM API 1.0 Optional Package

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-82 Bluetooth API 1.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-118 MIDP 2.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-135 Mobile Media API 1.2

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-139 CLDC 1.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-172 Web Services API 1.0: RPC Package

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-172 Web Services API 1.0: XML Parser Package

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-177 Security and Trust Services API 1.0

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-179 Location API 1.0.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-179 Location API Appendix

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-184 Mobile 3D Graphics API 1.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-205 Wireless Messaging API 2.0

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-211 Content Handler API 1.0.1

Nokia Asha Software Platform 1.0

Series 40 Developer Platform 1.0

 

JSR-226 Scalable 2D Vector Graphics API 1.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-234 Advanced Multimedia Supplements API 1.1

Nokia Asha Software Platform 1.0

Series 40 6th Edition

 

JSR-238 Mobile Internationalization API 1.0

Nokia Asha Software Platform 1.0

 

Plug-ins supported

Tantalum plug-in

Nokia Asha Software Platform 1.0

 
 

LWUIT plug-in

Nokia Asha Software Platform 1.0

Series 40 Developer Platform 2.0

 

HERE API

Nokia Asha Software Platform 1.0

Series 40 Developer Platform 2.0

 

Nokia In-app Payment plug-in

Nokia Asha Software Platform 1.4

 

The Java ME enabled devices of Nokia support MIDP on top of CLDC.

The Nokia Asha software platform and Series 40 platforms have supported Java™ ME since their first release, Series 40 1st Edition. Series 40 2nd Edition was the first release to support the JSR-185 Java Technology for the Wireless Industry (JTWI) specification, which defines an architecture for a uniform implementation of Java ME across mobile devices. JTWI was superseded by support for the JSR-248 Mobile Service Architecture (MSA) Subset specification from Series 40 5th Edition onwards. Like JTWI, MSA aims to minimize the fragmentation of Java ME implementations and thereby ensure application compatibility and portability across the broadest possible range of mobile devices. In Nokia Asha software platform devices, the JSR-248 MSA Subset is supported except for the JSR-75 PIM ToDoList functionality due to lack of native support. For more information about these two architecture specifications, see: