Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Learning wireless Java : help for new J2ME developers
Mahmoud Q., O’Reilly & Associates, Inc., Sebastopol, CA, 2002. 262 pp. Type: Book (9780596002435)
Date Reviewed: Oct 7 2002

Mahmoud introduces this book as a short primer on Java 2 Micro Edition (J2ME) for Java 2 Standard Edition (J2SE) programmers. He has succeeded in putting together a delightful book, covering everything an intermediate to expert Java programmer would need to begin programming in J2ME.

In chapter 1, Mahmoud elegantly describes and diagrams the J2ME programming environment, and contrasts it with the J2SE environment. The J2ME environment consists of a compact virtual machine (KVM), a connected limited device configuration (CLDC) containing the core libraries, and a mobile information device profile (MIDP), with application programming interfaces (APIs) and an operating environment.

After just a few pages, I could see that “good” J2ME programs must be small and efficient, due to the small memory footprint of the devices for which they are designed. In the early chapters of the book, Mahmoud illustrates techniques to maximize compactness, and details methods for compiling J2ME programs.

Chapter 2 describes the J2ME core libraries. The author lists the runtime libraries that exist in J2SE but have been removed from J2ME, such as String() and StringBuffer(). However, his description becomes confusing because he also lists classes of available items. I would have found it easier to follow if he had listed all of the eliminated methods and classes in one section, and then listed all of the available classes in a separate section, rather than interspersing them based on convenience.

Hands-on programming begins in chapter 3, with further discussion of the MIDP and the Java Application Manager, or operating environment. The MIDP includes all of the APIs that enable programming for devices that follow the MIDP standard. Mahmoud walks the reader through the process of writing and running midlets, the microedition counterpart of applets. Once again, there is a great deal of coverage of details that will ensure the application is able to run in the KVM environment.

In chapter 4, Mahmoud details the midlet life cycle, including very specific instructions about running midlets on the Java Emulator. He also introduces Sun’s GUI development environment, called the J2ME Wireless Toolkit. The diagrams included on the use of the Wireless toolkit are concise and easy to follow. Mahmoud describes various methods of deploying midlets on devices. Chapter 4 is rich in detail, and begins a trend in which the author ties together details from preceding chapters.

In chapter 5, Mahmoud covers the intricacies of mobile device graphical programming, describing the classes and methods peculiar to mobile devices. Programmers serious about transitioning to the programming of mobile devices will find the examples in this chapter extremely useful. The author demonstrates that GUI programming for mobile devices is markedly different in concept, functionality, and physical appearance from desktop programming. This chapter deftly starts with high levels of abstraction, showing the typical uses of the display a nd screen objects, and dovetails into lower levels of abstraction that include forms, choicegroups, and canvasses.

Chapter 6 ties Java event-driven programming to the particulars of the mobile device environment. This chapter may be difficult to follow if you are not familiar with standard Java events, interfaces, and listeners.

Chapter 7 focuses on wireless connectivity. Although the chapter is dense, the author does a good job of presenting specific examples of HTTP, CGI, and other protocols and connection types with clarity.

In chapter 8, Mahmoud demonstrates the use of the J2ME Record Management System, a true database that has atomicity, synchronicity, and serialization. Chapter 8 is the apex of the entire book, employing parts of many other midlets introduced in the preceding chapters of the book.

Chapter 9 is tailor-made for the Palm OS platform. Instructions are given on the conversion of midlet suites to downloadable and installable .prc programs. This chapter has less to do with J2ME than with getting J2ME to run on a Palm device, but it is nevertheless a useful chapter.

The book also includes API quick reference appendices that describe libraries that Mahmoud may or may not have introduced in the book. There is a resource guide for readers interested in learning more about the subject.

Obviously an experienced teacher, Mahmoud uses friendly language. Some readers may find this style annoying, but I found it to be approachable. My one major criticism of the book is that Mahmoud compresses too much material into the second half. I would have enjoyed a more expanded presentation. I also found the recurring icon resembling a ratchet rather distracting; it is not clear whether this icon represents a tip, warning, or something else. Finally, I always enjoy reading about the exotic animals O’Reilly selects for the covers of their books. This description appears at the very end of the book, and reminds us that there is a world out there beyond our desktops.

J2SE programmers interested in basic information and techniques for programming J2ME will find this book concise, useful, elegant, and easy to use. I highly recommend this book to J2SE programmers.

Reviewer:  Jessica Emami Review #: CR126506 (0301-0031)
Bookmark and Share
 
Java (D.3.2 ... )
 
 
Portable Devices (C.5.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Java": Date
Java for C/C++ programmers
Daconta M., John Wiley & Sons, Inc., New York, NY, 1996. Type: Book (9780471153245)
Apr 1 1997
Java programming explorer
Bartlett N., Leslie A., Simkin S., Coriolis Group Books, Scottsdale, AZ, 1996. Type: Book (9781883577810)
Apr 1 1997
The Java handbook
Naughton P., Osborne/McGraw-Hill, Berkeley, CA, 1996. Type: Book (9780078821998)
Apr 1 1997
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy