Java 2 Micro Edition: Professional Developer's Guide
The first book about Java 2 Micro Edition (J2ME),
this book introduces you to J2ME programming. It includes discussions
of the KVM small-footprint virtual machine, configurations, profiles,
the Mobile Information Device Profile (MIDP), and some
J2ME development environments and alternatives like Waba.
Published in late 2000, parts of this book are now dated.
Still, it provides an interesting and comprehensive look
at the issues that led to the development of J2ME and the
general problems involved in making Java a feasible
programming environment for handheld and other constrained
discusses what Java 2 Micro Edition (J2ME) is and why it's needed;
examines the configurations and profiles that make up J2ME;
shows you how to use various J2ME implementations from Sun,
Motorola and Research In Motion, as well as a discussion of Waba as
Included with the book is a CD-ROM with code samples, the Motorola and
Research In Motion SDKs, and additional material
relevant to J2ME.
The reader is expected to know how to program with Java, but
no experience with small computing devices is required.
Why I Wrote This Book
I wrote this book to provide Java programmers with an introduction
and overview of what J2ME is and isn't, and how to go about writing
applications for a J2ME-compliant platform. The book goes hand-in-hand
with the various J2ME specifications, which of course are always
changing and evolving.
Here are detailed descriptions of each chapter:
Discusses why you'd want to (or not want to) use Java
on small devices and introduces you to the rest of the book.
Part 1: Java and Small Devices
The first part is a general discussion of Java and
1. It Really Is a Small World After All
Defines what small computing devices are all about.
2. Java: Fat and Slow?
Looks at the architecture of Java and its evolution
so that we can better understand the need for something like J2ME.
3. Programming Strategies for Small Devices
Discusses design and coding strategies that you can use
in order to write Java programs on small devices.
chapter online (PDF).
Part 2: J2ME Specifications
The second part defines what J2ME is and discusses
the various specifications related to J2ME.
4. Java 2 Micro Edition (J2ME)
Introduces the Micro Edition and explains how it fits
into the bigger Java picture. This chapter also traces the
development of one of its key components, a new virtual
machine called the KVM.
chapter online (PDF).
Describes the two initial J2ME configurations: the
Connected Device Configuration (CDC) and the
Connected Limited Device Configuration (CLDC).
Configurations define basic Java language and runtime
Describes the first J2ME profile: the Mobile Information
Device Profile (MIDP). This chapter also briefly describes
other profiles that are currently in development. Profiles
build on top of configurations by adding classes to support
specific types of applications or uses of devices.
Part 3: J2ME Implementations
The final part looks at actual J2ME implementations: how they
work and how to use them.
7. The Connected Limited Device Configuration (CLDC) Reference Implementation
Shows you how to use the reference implementation of the CLDC
on your desktop computer.
8. J2ME for Palm Connected Organizers
Shows you how to use the Palm operating system port of the CLDC
reference implementation. This chapter includes a short discussion
of the unique architecture of Palm devices and how to use and obtain
the Palm OS Emulator so that you can try out the port even if you
do not own a Palm device yourself.
9. The Mobile Information Device Profile (MIDP) Early Access Release
Shows you how to use the Early Access release of the MIDP
reference implementation. This release includes a cellular phone
simulator that lets you try your MIDP applications in a different
environment than the Palm.
10. Java for Motorola Devices
Describes Motorola's implementation of the MIDP, the first
complete MIDP implementation from a non-Sun party. A beta version
of the Motorola J2ME SDK, complete with emulators for various Motorola
cellular telephones, is available on the CD-ROM accompanying the book.
11. Java for BlackBerry Wireless Handhelds
Describes the BlackBerry Java Development Environment, another
non-Sun J2ME implementation. An early access version of the BlackBerry
JDE is available on the CD-ROM as well.
12. Waba: An Alternative to Java
Explores a similar but different take on making Java work on
small computing devices.
13. Final Thoughts
Concludes the exploration with a few thoughts about the future
Two short appendices provide some additional information.
A. Tic-Tac-Toe Source Code
Source code to the simple tic-tac-toe game developed for
the various implementations of J2ME.