| |
|
| 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.
|