HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

I don't usually buy technical books. Most of the time I manage to find what I'm looking for after a bit of hunting on the Web, virtual elbow-grease, so to speak. However, occasionally a tree-killing madness does come over me and Amazon gets the chance to clear the electronic cobwebs out of my bank account.

So I'm sure much to Amazon's complete disgust - as it was almost time to satisfy that craving to handle dried wood mulch - Wireless Java: Developing with Java 2, Micro Edition, by Jonathan Knudsen, arrived on my desk from Apress.

This 226-page book is aimed at intermediate to advanced developers - by which I think they mean experienced Java developers who are new to the Micro Edition platform. It has 12 chapters that cover the basics of developing for MIDP up to more advanced subjects, such as parsing XML and cryptography.

Jonathan Knudsen has penned a number of other books, including The Unofficial Guide to Lego Mindstorms Robots, Learning Java, Java 2D Graphics, and Java Cryptography. He has a comfortable writing style that makes for an easy read. Here's an excerpt from Chapter 9 - "Programming a Game Interface":

How exactly does repaint() work? When you call repaint(), paint() won't be called right away. The call to repaint() just signals to the MIDP implementation that you want the screen to be painted. Some time later, the implementation services the repaint request, which results in an actual call to the paint() method of the Canvas. The MIDP implementation may even combine several repaint requests, particularly if their repaint regions overlap.

There are some useful tips hidden in the text for MIDP beginners:

Bandwidth is expensive in terms of both time and money. Today's wireless networks are relatively slow, so less data passing through the air means less waiting time for your users. Also, wireless service tends to be pricey, so less data passing through the air means smaller bills for your users.

If I have any criticism, it's the obligatory inclusion of an API summary at the end of the book - which seems to be de rigueur for any technical tome but usually not necessary, in my opinion (however, it's nowhere near as large as some API references I've seen included, so kudos to Jonathan and Apress for keeping it to a minimum).

Apart from this, it's a useful reference if you're just getting started with MIDP and, from that point of view, worth dishing out the $34.95.

Bear in mind that the book is aimed at J2ME beginners, not Java beginners, so if you're one of the few people who are new to both, I suggest investing in a beginners Java reference as well (and no, I'm not aiming to receive Amazon's "Literary Pimp of the Year" award for 2001).

Chapter 1: An introduction to configurations, profiles and MIDP vendors
Chapter 2: Getting started building MIDlets (compilation, preverifying, etc.)
Chapter 3: The MIDlet life cycle, packaging, and descriptors
Chapter 4: What's included and what's missing from the API set
Chapter 5: Creating a user interface
Chapter 6: Using Lists and Forms
Chapter 7: Managing record stores and performing queries
Chapter 8: The Connection framework
Chapter 9: Low-level graphics used for programming a game interface
Chapter 10: Performance tuning
Chapter 11: Parsing XML
Chapter 12: Protecting network data (in other words, cryptography)

Author Bio
Jason Briggs works as a Java analyst programmer in London. He's been officially developing in Java for three years - unofficially for just over four. [email protected]

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.