The instructor's insight and corporate experience were key in my satisfaction with the course. Excel... More Testimonials »

Java Wireless Programming

Delivery Options

Class Description

Class Overview

This four-day course introduces experienced Java programmers to the Java Micro Edition, or Java ME, and develops skills in Java programming for wireless devices via the Mobile Information Device Profile, or MIDP. The course begins with a top-down tour of the ME 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 Standard Edition Core API - and then move into the individual packages of the MIDP.

We then study MIDP development in detail, working through several chapters on user interfaces and event handling, to local record storage and network connectivity, and on to threads and timers. The course concludes with chapters on advanced topics including memory management, best practices, and "over the air provisioning," which is a standard deployment model for MIDP applications to wireless devices via HTTP, including a security model using digital signatures.

Class Goals

  • Understand the Java Micro Edition architecture, and the stacking of virtual machine, configuration, and profile to address different types of micro devices.
  • Understand the mission of the Mobile Information Device Profile, and see how programming for mobile devices is fundamentally different from Java SE programming.
  • Build a simple, functioning "MIDlet."
  • Understand the framework for packaging and deploying MIDlets to devices.
  • Build user interfaces for mobile devices, including text presentation, graphics, keypad and pointer event handling, and multi-screen navigation.
  • Save and re-load information from one MIDlet run to the next using the MIDP Record Management System.
  • Make HTTP network connections from the mobile device.
  • Use multiple threads and MIDP timers effectively.
  • Manage memory usage conservatively in MIDP applications.
  • Deploy completed MIDlet suites to mobile devices over the air.

Class Outline

  1. The Java ME Architecture
    1. Micro Devices
    2. The Need for Java ME
    3. The Java ME Software Stack
    4. Virtual Machine
    5. Configuration
    6. Profile
    7. Development Process
    8. The Java Wireless Toolkit
    9. VM Speed Emulation
  2. The Connected, Limited Device Configuration
    1. Classification of CLDC Target Devices
    2. Limitations of Java Language Support in CLDC
    3. The java.lang Package
    4. CLDC Collections API
    5. The Streams Model
    6. The Generic Connection Framework
  3. The Mobile Information Device Profile
    1. Relationship of MIDP to CLDC
    2. MIDlets
    3. MIDlet Lifecycle
    4. Application Descriptors
    5. The Java Application Manager
    6. MIDlet Suites
    7. Loading Resources
  4. The High-Level User-Interface API
    1. Application Descriptors
    2. The Displayable Hierarchy
    3. Forms and Items
    4. Text Fields, Dates, and Times
    5. Choice Groups
    6. Alerts
    7. Tickerts
  5. The Low-Level User-Interface API
    1. The Canvas Class
    2. The Graphics Object
    3. Drawing Graphics
    4. Drawing Text
    5. Controlling Fonts
  6. Event Handling
    1. MIDP Event Architecture
    2. High-Level Event Handling
    3. Commands
    4. Item State Changes
    5. Low-Level Event Handling
    6. Keypad Input
    7. Pointer Input
    8. MVC in MIDP
    9. Model Events
  7. The Record Management System
    1. Persistence on Mobile Devices
    2. Scope of Record Management
    3. Opening a Record Store
    4. Managing Records
    5. Using Streams for Record I/O
    6. Persistence Strategies
    7. Filtering and Sorting Records
  8. Networking
    1. The Generic Connection Framework
    2. MIDP Connection Types
    3. Creating an HTTP Connection
    4. Building Query Strings
    5. Reading HTTP Responses
    6. Bandwidth Emulation
    7. The WTK Network Monitor
    8. Threading
  9. Threads and Timers
    1. The Need for Threads
    2. Thread and Runnable
    3. Synchronization Strategies
    4. Timers
    5. Timer Tasks
  10. Memory Management
    1. Memory Management Techniques
    2. The WTK Memory Monitor
    3. Efficient Data Representation
    4. Controlling Object Creation
    5. Using Arrays Effectively
    6. String Manipulation
  11. Best Practices
    1. Exception Handling
    2. Cleaning Up Resources
    3. UI Design Considerations
    4. UI Responsiveness
    5. Portability Considerations
    6. Making Tasks Cancelable
    7. Conditional Features
  12. Over-the-Air Provisioning
    1. Application Management Software
    2. Requirements for OTA Provisioning
    3. Downloading JADs and JARs
    4. MIDlet Suite Lifecycle
    5. Security Considerations
    6. Signing MIDlet Suites
    7. MIDP PKI

Class Materials

All students receive a course manual or book and all the class examples.

Students in private onsite classes will also receive:

Class Prerequisites

Experience in the following areas is required:

  • This course is intended for experienced Java programmers:

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Training Classes
Locations
Live eLearning

Like a class you would go to, but you don't have to go anywhere. More...

Customized Onsite Training

The trainer comes to you and delivers a class customized for your team. More...

Self-Paced eLearning

Our least expensive option. You proceed through the course entirely at your own pace. More...

Reference Library
Partner Programs
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723