You are previewing Programming Wireless Devices with the Java™ 2 Platform, Micro Edition, Second Edition.
O'Reilly logo
Programming Wireless Devices with the Java™ 2 Platform, Micro Edition, Second Edition

Book Description

This book presents the Java™ 2 Platform, Micro Edition (J2ME™) standards that support the development of applications for consumer devices such as mobile phones, two-way pagers, and wireless personal organizers. To create these standards, Sun collaborated with such consumer device companies as Motorola, Nokia, NTT DoCoMo, Research In Motion, Samsung, Siemens, Sony Ericsson, and many others. The result is a highly portable, small-footprint application development environment that brings the unique capabilities of Java technology, including platform independence and enhanced security, to the rapidly growing wireless market.

This definitive Java™ Series guide provides a programmer's introduction to the Java 2 Platform, Micro Edition. It presents a general description of wireless technology and an overview of the J2ME platform. In addition, the book details the Connected Limited Device Configuration (CLDC) version 1.1 and the Mobile Information Device Profile (MIDP) version 2.0, the standards that define the Java platform features and libraries for wireless, resource-constrained devices.

Written by a team of authors that includes the original J2ME technology experts from Sun, Motorola, and Nokia, this book provides a description of the Java 2 Platform, Micro Edition, as well as practical implementation advice.

The Java™ Series is supported, endorsed, and authored by the creators of the Java technology at Sun Microsystems, Inc. It is the official place to go for complete, expert, and definitive information on Java technology. The books in this Series provide the inside information you need to build effective, robust, and portable applications and applets. The Series is an indispensable resource for anyone targeting the Java™ 2 platform.


Table of Contents

  1. Copyright
  2. The Java™ Series
  3. Figures
  4. Foreword
  5. Preface
  6. Acknowledgments
  7. Introduction
    1. The Wireless Internet Revolution
    2. Why Java™ Technology for Wireless Devices?
    3. A Bit of History
    4. J2ME™ Standardization Efforts
  8. Overview of Java 2 Platform, Micro Edition (J2ME™)
    1. Java 2 Platform
    2. Java 2 Platform, Micro Edition (J2ME)
    3. Key Concepts of the J2ME Architecture
    4. Evolution of the J2ME Platform
  9. Goals, Requirements, and Scope
    1. High-Level Goals
    2. Target Devices
    3. General Notes on Consumer Devices and Embedded Systems
    4. Requirements
    5. Scope of the CLDC and MIDP Standards
  10. Connected Limited Device Configuration
    1. CLDC Expert Groups
    2. CLDC Architecture, Application Model, and Security
    3. Java Language Specification Compatibility
    4. Java Virtual Machine Specification Compatibility
    5. New for CLDC 1.1
  11. CLDC Libraries
    1. Background and Goals
    2. Classes Derived from Java 2 Standard Edition
    3. CLDC-Specific Classes
    4. New for CLDC 1.1
  12. Mobile Information Device Profile
    1. MIDP Expert Groups
    2. Areas Covered by the MIDP Specification
  13. MIDP Application Model
    1. MIDlets
    2. MIDlet Suites
    3. New for MIDP 2.0
  14. MIDP User Interface Libraries
    1. MIDP UI Compared to Desktop AWT
    2. Structure of the MIDP User Interface API
    3. Display
    4. Displayables
    5. Commands
    6. Advanced Topics
    7. New for MIDP 2.0
  15. MIDP High-Level User Interface – Screen
    1. List
    2. TextBox
    3. Alert
    4. Form
    5. New for MIDP 2.0
  16. MIDP High-Level User Interface – Form
    1. Item
    2. StringItem
    3. ImageItem
    4. TextField
    5. DateField
    6. ChoiceGroup
    7. Gauge
    8. CustomItem
    9. Form Layout
    10. New for MIDP 2.0
  17. MIDP Low-Level User Interface Libraries
    1. The Canvas API
    2. Low-Level API for Events in Canvases
    3. Graphics
    4. Creating and Using Images
    5. Drawing Primitives
    6. New for MIDP 2.0
  18. MIDP Game API
    1. The GameCanvas API
    2. Layers
    3. Sprites
    4. TiledLayer
    5. LayerManager
    6. Collision Detection
    7. Sample Code: A Simple Game
    8. New for MIDP 2.0
  19. MIDP Sound API
    1. Overview of the MIDP 2.0 Sound API
    2. Player Creation and Management
    3. Media Controls
    4. Enhanced Media Support Using the Mobile Media API
    5. New for MIDP 2.0
  20. MIDP Persistence Libraries
    1. The Record Management System
    2. Manipulating Record Stores and Records
    3. Sample Code (
    4. New for MIDP 2.0
  21. MIDP Networking and Serial Communications
    1. Characteristics of Wireless Data Networks
    2. Network Interface Considerations
    3. The HttpConnection Interface
    4. Sample Code (
    5. SocketConnection
    6. ServerSocketConnection
    7. UDPDatagramConnection
    8. CommConnection
    9. New for MIDP 2.0
  22. Secure Networking
    1. Checking the Security Properties of a Connection
    2. HttpsConnection
    3. SecureConnection
    4. MIDP X.509 Certificate Profile
    5. New for MIDP 2.0
  23. Event-Driven Application Launch
    1. Alarm-Based MIDlet Launch
    2. Network-Based MIDlet Launch
    3. Listening and Launching
    4. Handling Connections after Launch
    5. Security of the Push Registry
    6. Sample Usage Scenarios
    7. New for MIDP 2.0
  24. Security for MIDlet Suites
    1. Assumptions
    2. Sandbox for Untrusted MIDlet Suites
    3. Trusted MIDlet Suite Security Model
    4. APIs That Are Not Security Sensitive
    5. Establishing Trust for MIDlet Suites by Using X.509 PKI
    6. Recommended Security Policy for GSM/UMTS Devices
    7. New for MIDP 2.0
  25. MIDlet Deployment
    1. MIDlet Suites
    2. MIDP System Software
    3. Over-the-Air User-Initiated Provisioning
    4. New for MIDP 2.0
  26. Additional MIDP APIs
    1. Timer Support
    2. System Properties
    3. Application Resource Files
    4. Exiting a MIDlet
  27. Summary
  28. References
  29. CLDC Application Programming Interface
    1. Almanac Legend
    2. CLDC Almanac
  30. MIDP Application Programming Interface
    1. MIDP Almanac
  31. Index