Find Courses Here
Wireless Programming J2ME and MIDP Print E-mail
Course Length - 4 Days 
  
Course Description

This four-day course introduces experienced Java programmers to the Java 2 Micro Edition, or J2ME, and develops skills in Java programming for wireless devices via the Mobile Information Device Profile, or MIDP. (The MIDP is the “profile” defined within the J2ME for small mobile devices such as cellphones and PDAs.) The course begins with a top-down tour of the J2ME architecture, focusing on wireless programming via the Connected, Limited Device Configuration, or CLDC, and the MIDP. Students learn the simple Core API of the CLDC – primarily by contrast to the Java 2 Standard Edition Core API – and then move into the individual packages of the MIDP.

MIDP study begins with three chapters on user-interface design, which in MIDP is dramatically different from standard Java. Students learn the high- and low-level UI frameworks, and how to use commands and events. Students then study the MIDP Record Management System for limited persistent storage on the device, and then work on mobile networking. 

The final module of the course moves beyond basic knowledge of the API to develop effective coding techniques. Students study multithreading, both using the basic Thread/Runnable model and the CLDC’s Timer and TimerTask classes. The bulk of this module is an in-depth treatment of memory management – which is crucial to effective programming on such tiny devices – including techniques for controlling object creation and reuse, string manipulation, and array-based memory management. A third chapter discusses good MIDP programming practices, and the module concludes with a discussion of MIDP in the larger context of networked applications, and particularly with respect to J2EE components.

This course focuses on application of concepts through substantial hands-on exercises: instructor-led demonstrations and individually-performed labs. A moderately complex MIDP application – a “MIDlet” – is developed over the course as a case study in all the course topics and skills
.

 
   
 Course Objectives:
  • Understand the Java 2 Micro Edition architecture, and the stacking of virtual machine, configuration, and profile to address different types of “micro” devices
  • Understand the limitations of mobile devices and see how they drive the design of the Connected, Limited Device Configuration, and the supporting “K” Virtual Machine
  • Identify the key differences between the JVM and the KVM, including build process and code security implementations
  • Understand the design and mission of the Mobile Information Device Profile, and see how programming for mobile devices is fundamentally different from J2SE programming
  • Code cleanly to the CLDC using the KVM
  • Build a simple, functioning MIDlet
  • Understand the framework for packaging and deploying MIDlets to devices
  • Build user interfaces for mobile devices, including text presentation, input controls, 2D graphics, and multi-screen navigation
  • Handle pointer and keypad input in a MIDlet
  • Implement menus and commands
  • Save and re-load information from one MIDlet run to the next using the MIDP Record Management System
  • Make network connections from the mobile device
  • Retrieve remote information via HTTP, including dynamic information based on user requests
  • Use multiple threads and MIDP timers effectively
  • Write memory-conservative code for various tasks, and understand the implications of various techniques on heap usage
  • Understand the use of J2ME and J2EE components to compose a seamless networked application
 
      
 Course Prerequisites
  • Java programming experience