Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition, Version 1.0 (CX-310-110) exam objectives
Section 1: JTWI (JSR 185) and Overview of JTWI-Compliant Wireless Applications
- Identify the goals and characteristics of the JTWI specification
(JSR 185), including the mandatory specifications, conditionally
required specifications, and the minimum configuration. Compare the
relationship and differences between JTWI and other wireless Java
technologies.
- Develop portable applications that are compatible with the
requirements and restrictions an application programmer must adhere to,
in order to ensure compatibility with a JTWI-compliant device,
including resource minimums (standard-size application), clock
resolution, and the use of preferred Multi-Purpose Internet Mail
Extensions (MIME) names as applicable to Connected Limited Device
Configuration (CLDC) 1.0 and 1.1, Mobile Information Device Profile
(MIDP) 2.0, Wireless Messaging API (WMA) 1.1, and Mobile Media API
(MMAPI) 1.1).
Section 2: CLDC 1.0 and 1.1
- Identify correct and incorrect statements or examples about the
requirements and scope of the CLDC specification, including the
differences between 1.0 and 1.1.
- Describe the ways in which a CLDC virtual machine does and does not
adhere to the Java Language Specification (JLS) and the Java Virtual
Machine specification.
- Identify correct and incorrect statements or examples about CLDC
classes including those derived from J2SE, and the CLDC-specific
classes, including identifying which core J2SE classes are NOT included
in CLDC, or have different behaviors (for example java.lang.String and
io classes)
- Given the differences and limitations of exception/error handling with CLDC devices, handle exceptions correctly.
- Write code that effectively manages memory and garbage collection.
Section 3: Security (Both CLDC and MIDP)
- Given a set of requirements, design and build applications given
CLDC-specified application-level security, including the sandbox model.
- Identify correct and incorrect statements or examples about untrusted MIDlet suites.
- Explain trusted MIDlet suite security authorization and permissions, including the process for MIDlet suite signing.
- Explain requirements and process of using X.509 public key infrastructure (PKI) authentication for MIDlet suites.
Section 4: Networking
- Write code using the Generic Connection framework specified by
CLDC, recognizing its characteristics, use, classes, and interfaces.
This may include identification of the class hierarchy and
relationships of the Generic Connection framework.
- Write code for MIDP 2.0 networking, and issues and limitations
related to Hypertext Transfer Protocol (HTTP), HTTPS, and Transmission
Control Protocol/Internet Protocol (TCP/IP) sockets and datagram,
recognizing which connections are required and which are optional, as
well as comparing the issues related to TCP/IP and User Datagram
Protocol (UDP) datagrams.
- Write code using the MIDP 2.0 classes in the javax.microedition.io
package, including code that correctly opens, closes, and uses a
network connection, using the implications of network blocking
operations, scheme, connection number limitations, and character
encoding.
- Given a problem scenario, troubleshoot networking issues for MIDP 2.0.
Section 5: Application Model, Delivery, Lifecycle, and Provisioning
- Explain the specification guarantees for: browsing for MIDlet
suites, transferring MIDlet suites, using HTTP, push registries, basic
authentication, installing and updating MIDlet suites, invoking MIDlet
suites, and deleting MIDlet suites.
- Identify correct and incorrect statements or examples about the
MIDP application model, including: the MIDP execution environment,
MIDlet suites, MIDlet suite packaging (including the manifest and the
application descriptor), discovering available services on the device,
discovering which version of MIDP and CLDC is on the device.
- Develop applications that correctly reflect a MIDlet's application
lifecycle, including: the purpose of the MIDlet class, communication
with the application management software, platform request API, valid
MIDlet states and transitions, and the behavior that should and should
NOT be implemented within different lifecycle methods (including the
constructor).
- Deploy a MIDP 2.0 application with the correct use of Java Application Descriptor (JAD) files and manifests.
- Given an installation failure, analyze the problem and develop possible resolutions.
- Given a set of requirements, develop applications that correctly
implement MIDP 2.0 support for delayed or scheduled activities using
timers and background threads.
Section 6: MIDP Persistent Storage
- Develop code that correctly implements handling, sharing, and removing RecordStores within MIDlet suites.
- Develop code that correctly implements adding, retrieving,
modifying, and deleting individual records in a RecordStore, and
converting RecordStore record data to and from byte arrays, and that
reflects performance implications.
- Identify correct and incorrect statements or examples about
filtering, comparing, event listening, and enumerating records in a
RecordStore.
Section 7: Push Registry
- Explain MIDP 2.0 Push Registry benefits and limitations, and describe its use in applications.
- Develop applications that correctly use MIDP 2.0 Push Registry
including discovery, dynamic compared to static, and recognizing the
types of connections that can and cannot be accepted.
Section 8: MIDP User Interface (UI) API
- Given a scenario, develop MIDP 2.0-compliant user interfaces,
recognizing portability requirements and limitations (such as
double-buffering not guaranteed), and performance issues (such as using
inner classes and freeing memory buffers).
- Discuss the MIDP user interface high-level API including
concurrency, portability, structure of the API, and interplay with the
application manager.
- Explain the MIDP user interface low-level API including font support, repainting, and coordinate system.
- Given a set of requirements, develop interactive MIDP 2.0 user
interface code with proper event-handling (including both the
high-level and low-level APIs, repainting and threading issues).
- Identify correct and incorrect statements or examples about the
classes (including the class hierarchy) within the
javax.microedition.lcdui package.
- Compare and contrast high-level and low-level APIs, including layout techniques.
- Explain requirements, issues, class hierarchy, and relationships between items and screens.
Section 9: MIDP Game API
- Given a scenario, develop code using the MIDP Game API package to improve performance and reduce application size.
- Compare and contrast the use of MIDP's GameCanvas class and the MIDP low-level canvas.
- Given a set of requirements, develop code using MIDP's LayerManager class.
- Given a set of requirements, develop code using MIDP's Layer, Sprite, and TiledLayer classes.
Section 10: Media Using MIDP 2.0 and the MMAPI 1.1
- Given a set of requirements, develop code using MMAPI's support for tone generation.
- Given a set of requirements, develop code that correctly uses MIDP
support for sound including audio playback, tone generation, media flow
controls (start, stop), media type controls (volume, tone), and media
capabilities using "Manager", "Player", and "Control" objects,
recognizing the difference between required and optional features.
- Develop code that correctly uses MMAPI support for playback and
recording of media, including the use of the "DataSource", "Player",
and "Manager" objects, support for audio and video capture and
playback, system properties queries, recognizing the difference between
required and optional features.
- Identify correct and incorrect statements or examples about the media class hierarchies in both MIDP 2.0 and MMAPI 1.1.
Section 11: Wireless Messaging API 1.1
- Describe the WMA's basic support for sending and receiving messages, and the Generic Connection Framework.
- Explain the WMA's support for Short Message Service (SMS) and Cell Broadcast capabilities.
- Identify correct and incorrect statements or examples about WMA
including the WMA addressing scheme, client vs. server connections,
WMA-related exceptions, WMA-related security issues, message size
limitation, message creation, sending, synchronous compared to
asynchronous message receipt, and the relationship between WMA and Push
Registry.
|