Vocabulary and Concepts Demonstrate an understanding of the principle concepts of Java ME, including the purposes and differences between profiles, configurations and optional packages.
Demonstrate an understanding of the significant differences between Java ME and Java SE.
Understand the terms and acronyms used within the J2ME topic. Specifications Demonstrate an understanding of the purposes and differences between profiles and configurations as defined in the following JSRs:
Questions about the use of interfaces and classes from the following CLDC-1.0 and CLDC-1.1 packages (questions that only apply to one version must be clearly marked):
Questions about the use of interfaces and classes from the following MIDP-1.0 packages (questions that only to MIDP-1.0 must be clearly marked):
Questions about the use of interfaces and classes from the following MIDP-2.0 packages (questions that only apply to MIDP-2.0 must be clearly marked):
At the current time, understanding and familiarity is expected of:
Demonstrate an understanding of the significant differences between Java ME and Java SE.
Understand the terms and acronyms used within the J2ME topic. Specifications Demonstrate an understanding of the purposes and differences between profiles and configurations as defined in the following JSRs:
- JSR-030: J2ME Connected, Limited Device Configuration
- JSR-037 : Mobile Information Device Profile for the J2ME Platform
- JSR-118 : Mobile Information Device Profile 2.0
- JSR-139 : Connected Limited Device Configuration 1.1
Questions about the use of interfaces and classes from the following CLDC-1.0 and CLDC-1.1 packages (questions that only apply to one version must be clearly marked):
- java.io
- Understand that this is a small subset of the J2SE java.io package
- Know the content and use of the classes and interfaces in this package
- Know that in CLDC-1.1, some classes were updated to support the I/O of floating point values
- java.lang
- Understand that this is a small subset of the J2SE java.lang package
- Know how to use the limited number of classes and interface
- In CLDC-1.1, FALSE and TRUE objects were introduced into the Boolean class
- In CLDC-1.1 new wrapper classes for Float and Double were introduced
- In CLDC-1.1, String had two methods added, equalsIgnoreCase() and intern()
- Thread names were introduced in MIDP-2.0 as was the interrupt method
- java.util
- Understand that this is a small subset of the J2SE java.util package
- Know the content and use of the classes and interfaces in this package
- In CLDC-1.1, Calendar, Date and Timestamp classes redesigned to be more compliant with J2SE
- In CLDC-1.1, the toString() method was added to the Date class
- In CLDC-1.1, the Random class was updated to include methods to retrieve floats and doubles and an extra method to get an int with bounds
Questions about the use of interfaces and classes from the following MIDP-1.0 packages (questions that only to MIDP-1.0 must be clearly marked):
- javax.microedition.io
- Understand the connection types and how to create them
- javax.microedition.lcdui
- Understand the Display class
- Understand the high level APIs (Forms, Items, etc.)
- Understand the low level APIs (Canvas, Graphics, etc.)
- javax.microedition.midlet
- Understand the facilities provided by the MIDlet class (lifecycle control and property access)
- javax.microedition.rms
- Understand the structure of a RecordStore
- Understand how to create, read (directly or with an enumerator), update and delete a RecordStore
- Understand how to monitor a record store for changes
Questions about the use of interfaces and classes from the following MIDP-2.0 packages (questions that only apply to MIDP-2.0 must be clearly marked):
- javax.microedition.io
- New connection types: SecureConnection, ServerSocketConnection, SocketConnection and UDPDatagramConnection)
- HTTPS protocol mandated
- New class: PushRegistry
- javax.microedition.lcdui
- Significant changes to the Item class including the ability to set default commands
- New interface: ItemCommandListener introduced
- New classes: CustomItem and Spacer
- Canvas was updated to allow key events to be handled and to display full screen
- Understand how Image data may be accessed
- javax.microedition.lcdui.game
- Understand that this package is only available in MIDP-2.0
- Understand the GameCanvas and how it can handle key events
- Understand Layers and TiledLayers and how they are managed and used
- Understand Sprites, how they are created, manipulated and displayed
- javax.microedition.media
- Understand the concepts of Manager, Player and Control
- Understand how to programmatically generate sounds and how to play back an existing sound file
- javax.microedition.midlet
- Understand the new platformRequest() method on the MIDlet class
- javax.microedition.pki
- Understand the purpose of the Certificate class and how to obtain a reference to a certificate
- javax.microedition.rms
- Understand when record stores can be shared
At the current time, understanding and familiarity is expected of:
- JSR-185 : Java Technology for the Wireless Industry
- JSR-120 : Wireless Messaging API
- JSR-135 : Mobile Media API
- Development process and development tools
- Development sequence (compile, preverify, package, etc.)
- Use of compiler flags (eg. for class file compliance)
- Purpose, benefits and operation of preverification
- Security (eg. MIDlet signing)
- Deployment
- Contents of JAR files and how to build them
- Contents of JAD files and the key-value pairs
- Provisioning (eg. MIME types)
- Execution
- MIDlet suite verification
- MIDlet execution lifecycle
- Handling of MIDlet interruption
- Background execution of MIDlets