Sun Certified Mobile Application Developer (SCMAD) Certification

By: Emiley J. Emailed: 1608 times Printed: 2077 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

Sun Certified Mobile Application Developer (SCMAD) certification is for developers who create mobile applications using Java technologies for cell phones or "smart" devices.

To achieve this certification, candidates must succesfully complete one exam. Prior to attempting certification, candidates must be certified as a Sun Certified Programmer (SCJP), any edition.

1. The Sun Certified Mobile Application Developer for the Java Platform, Micro Edition, Version 1.0 certification exam

The Sun Certified Mobile Application Developer for the Java Platform, Micro Edition, Version 1.0 certification exam is for programmers and developers who are using Java 2 Platform, Micro Edition (J2ME) technologies to develop mobile applications for cell phones or other Java enabled devices. Passing this exam certifies that the candidate has achieved a standard level of proficiency with mobile Java technologies, as well as with the Java Technology for Wireless Industry (JTWI) specification, including the Wireless Messaging application programming interface (API) and Mobile Media APIs. To take the Sun Certified Mobile Application Developer exam, you must have already achieved the status of Sun Certified Programmer for the Java 2 Platform.

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.

Certification Home | All Certification Tutorials | Latest Certification Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by Emiley J.
Error generating R.java from manifest
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
IIS and Tomcat - how to configure to work together
PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......
Adding your own Application icon for your J2ME application (jar file)
Creating Menus in Code using VB.net
Traversing all files in a directory using Ruby
Using Proxy to connect to URLs in Ruby
POST a form in Ruby
Reading URL content using Ruby (HTTP)
dRuby client/server mode sample program
Benchmark module in Ruby
encoding and decoding in Ruby using Base64 Module
Module Abbrev in Ruby
Standard Library Packages in Ruby

More Tutorials in Certification
Question: Readers have methods that can read and return floats and doubles. True or False?
Question: Execute the following code in an empty directory. What is the result?
Question: What is result of attempting to compile and execute the code below:
Getting started with Java Certification. (SCJA, SCJP,...SCEA)
Sun Certified Java Associate (SCJA) Certification
Question: Consider the following application: what value is printed at line 6?
Question: Consider the following application: what value is printed at line 6?
Question: How can you force garbage collection of an object?
Question: What is the range of values that can be assigned to a variable of type short?
Question: What is the range of values that can be assigned to a variable of type byte?
Question: Which of the following statements are true about UTF and Unicode?
Question: Which of the following statements are true about File? (Choose none, some , or all)
Question: The File class contains a method that changes the current working directory.
Question: It is possible to use the File class to list the contents of the current working directory.
Question: How many bytes does the following code write to file destfile?

More Latest News
Most Viewed Articles (in Certification )
Question: What does the following code fragment print out at line 10?
Sun Certified Java Developer (SCJD) Certification
Sun Certified Java Associate (SCJA) Certification
Question: Which of the following signatures are valid for the main() method entry point of an application?
Question: Consider the following application: what value is printed at line 6?
Question: Consider the following application: what value is printed at line 6?
Question: What is the range of values that can be assigned to a variable of type byte?
Question: Which of the following statements are true about UTF and Unicode?
Question: Which of the following statements are true about File? (Choose none, some , or all)
Question: It is possible to use the File class to list the contents of the current working directory.
Question: A signed data type has an equal number of non-zero positive and negative values available
Sun Certified Developer for Java Web Services (SCDJWS) Certification
Sun Certified Mobile Application Developer (SCMAD) Certification
Question: Readers have methods that can read and return floats and doubles. True or False?
Question: Execute the following code in an empty directory. What is the result?
Most Emailed Articles (in Certification)
Question: How can you force garbage collection of an object?
Question: If all three top-level elements occur in a source file, they must appear in which order?
Question: Consider the following line of code: int x[] = new int[25];
Question: The File class contains a method that changes the current working directory.
Question: Execute the following code in an empty directory. What is the result?
Question: What is the range of values that can be assigned to a variable of type byte?
Question: Which of the following statements are true about File? (Choose none, some , or all)
Question: It is possible to use the File class to list the contents of the current working directory.
Question: What does the following code fragment print out at line 10?
Sun Certified Java Programmer (SCJP) Certification
Sun Certified Mobile Application Developer (SCMAD) Certification
Question: Readers have methods that can read and return floats and doubles. True or False?
Getting started with Java Certification. (SCJA, SCJP,...SCEA)
Sun Certified Java Associate (SCJA) Certification
Question: Consider the following application: what value is printed at line 6?