For any developer writing mobile applications on the Java platform, from smart cards to pagers to PDAs, Professional Java Mobile Programming provides both a "big picture" perspective on Java running on all these platforms, as well as some practical detail on the APIs and design strategies you'll need to get started. This book's principal strength is probably its complete coverage of mobile Java's possibilities. From tiny smart cards, to Java-aware phones, to pagers and even full-fledged PDAs, the authors cover the dizzying array of acronyms involved in the Java 2 Micro Edition (J2ME). The actual source code here concentrates on two flavours (called profiles) of J2ME: the MIDP (for PDAs) and the CLDC (for pagers). To this end, this text covers both high-level controls available on the MIDP platform, and then lower-level graphical calls. They provide a case study for a contact manager then port it to the more restricted form factor of the CLDC standard.
Coverage of smart card programming will help get you started there. With just a few bytes of memory, programming smart cards requires a very different mindset, and this text shows you how to work with these devices. Coverage of additional abilities in mobile Java from the Java Message Service (JMS) and telephony APIs rounds out the text. The authors anchor their sometimes wide-ranging discussion with some larger case studies including a Towers of Hanoi simulation and a mobile application that uses global positioning information.
Later samples integrate mobile applications into the larger J2EE platform on the server-side. The code here mixes in technologies such as servlets, EJBs, XML and XSLT with mobile user interfaces. A discussion of the software design process geared toward mobile development closes out this book. Useful reference sections compare the MIDP and CLDC APIs, as well as listing all available classes and methods in each.
Though this text at times adopts a somewhat scattershot approach in its organisation, its overall coverage of the rich possibilities of today's different mobile Java standards will help make it a useful resource for understanding what Java has to offer when it comes to mobile computing. --Richard Dragan