| |
Exam Objectives
Sun Certified Mobile Application Developer for the Java 2
Platform, Micro Edition, Version 1.0
Section 1: JTWI (JSR 185) and Overview / 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 (eg. standard-size
application), clock resolution, and the use of preferred MIME
names as applicable to CLDC 1.0/1.1, MIDP 2.0, WMA 1.1, and MMAPI
1.1).
Section 2: CLDC (1.0 / 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
(example: java.lang.String, io classes, etc.)
- Given the differences and limitations of exception/error
handling with CLDC devices, handle exceptions correctly.
- Wirte code that effectively manages memory / 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 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 HTTP, HTTPS, and TCP/IP sockets and Datagrams,
recognizing which connections are required and which are optional,
as well as comparing the issues related to TCP/IP and 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 / 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/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 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 vs. static, and recognizing the types
of connections that can and cannot be accepted.
Section
8: MIDP UI API
- Given a scenario, develop MIDP 2.0-compliant user interfaces,
recognizing portability requirements and limitations (e.g.
double-buffering not guaranteed), and performance issues (e.g.
using inner classes, freeing memory buffers, etc.).
- 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 requirement, 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 vs.
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 Mobile Media API 1.1 (MMAPI)
- 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, etc.), media type controls
(volume, tone), and media capabilities using "Manager", "Player",
and "Control" objects, recognizing the difference between required
vs. 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 (WMA)
- Describe the WMA's basic support for sending and receiving
messages, and the Generic Connection Framework.
- Explain the WMA's support for 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
vs. asynchronous message receipt, and the relationship between WMA
and Push Registry.
SCMAD exam objectives(pdf)
|
|