Cover image for Mobile information device profile for Java 2 MicroEdition : professional developer's guide
Mobile information device profile for Java 2 MicroEdition : professional developer's guide
Ortiz, C. Enrique, 1965-
Personal Author:
Publication Information:
New York : Wiley, 2001.
Physical Description:
xx, 380 pages : illustrations ; 24 cm.
Added Author:
Format :


Call Number
Material Type
Home Location
Item Holds
QA76.73.J38 O825 2001 Adult Non-Fiction Central Closed Stacks

On Order



A hands-on programming guide for the most active wireless application environment--cell phones and pagers

In his previous book, Java 2 Micro Edition (0-471-39065-8), Eric Giguere showed why Sun's J2ME is fast becoming the dominant language for all handheld devices. In this new book, the Ortiz-Giguere team explains how to use the J2ME Mobile Information Device Profile (MIDP) to write Java applications for wireless devices like cell phones and two-way pagers as well as more powerful devices like the Palm VII. The authors begin with a basic tutorial on J2ME, then quickly move on to explain how to use MIDP to write full-featured applications for cell phones and pagers. Using real case studies and code, they walk developers through all the necessary topics, including GUIs, client/server and peer-to-peer communications, HTTP, XML, databases, WAP, security issues, MIDP and J2EE in the Enterprise and much more.

Author Notes

C. ENRIQUE ORTIZ is Chief Mobile Architect and co-CTO for AGEA Corporation, a wireless infrastructure software company. He has served as lead developer at both Pervasive Software and IBM's Multimedia Server Development Group. Prior to IBM, he was the lead software engineer for the IBM Space Shuttle Onboard System Software. He holds a BS degree in computer science from the University of Puerto Rico.
ERIC GIGUERE is a software developer for iAnywhere Solutions, Inc., a Sybase company, where he focuses on wireless and handheld computing. He is the author of Wiley's Java 2 Micro Edition: Professional Developer's Guide and Palm Database Programming: The Complete Developer's Guide. He holds BMath and MMath degrees in computer science from the University of Waterloo.

Table of Contents

Prefacep. xi
Introductionp. xiii
Chapter 1 Java 2 Micro Edition Basicsp. 1
A Very Brief History of Javap. 1
The Architecture of Javap. 1
Early Javap. 2
Java 2p. 3
The Java Community Processp. 3
Java 2 Micro Editionp. 4
Configurationsp. 4
Profilesp. 5
The Connected Limited Device Configurationp. 6
Requirementsp. 6
Supported J2SE Classesp. 8
The Generic Connection Frameworkp. 9
Summaryp. 11
Chapter 2 The Mobile Information Device Profilep. 12
MIDP Specificationsp. 12
Mobile Information Devicesp. 13
Hardware Requirementsp. 13
Software Requirementsp. 14
Typical Devicesp. 14
PDAs as MIDsp. 15
MIDP Summaryp. 16
MIDlets and MIDlet Suitesp. 16
User Interfacep. 18
Data Persistencep. 18
Wireless Connectivityp. 19
Additional J2SE Featuresp. 20
Limitations and Exclusionsp. 20
OTA Provisioning Summaryp. 21
Discoveryp. 21
Download and Installationp. 21
Activation and Removalp. 22
Development Toolsp. 22
The Reference Implementationp. 22
The J2ME Wireless Toolkitp. 23
Code Warriorp. 24
The Next Generationp. 25
Summaryp. 26
Chapter 3 The MIDlet Lifecyclep. 27
What Is a MIDlet?p. 27
Building MIDletsp. 29
How MIDlets Are Builtp. 29
Building MIDlets with KToolbarp. 34
Building MIDlets with CodeWarriorp. 37
Installing MIDlets on Devicesp. 40
Using MIDP4Palmp. 41
MIDlet Activation and Deactivationp. 43
MIDlet Statesp. 44
The Active Statep. 45
The Paused Statep. 46
The Destroyed Statep. 46
Handling State Changesp. 47
MIDlet Attributesp. 49
Manifest Attributesp. 49
Application Descriptor Attributesp. 51
Run-Time Attribute Accessp. 52
Debugging MIDletsp. 52
Summaryp. 54
Chapter 4 User Interface Basicsp. 55
The MIDP User Interface Modelp. 55
The Common User Interface APIp. 58
Accessing the Displayp. 58
Setting the Current Displayablep. 59
Using Commandsp. 60
Using Imagesp. 65
The Low-Level User Interface APIp. 67
The Canvas Classp. 67
Drawing Primitivesp. 70
Drawing Textp. 72
Handling Keyboard Inputp. 73
Handling Pointer Inputp. 75
Playing Soundsp. 75
Serializing Codep. 75
The High-Level User Interface APIp. 76
Screens and Tickersp. 77
Alertsp. 78
Listsp. 81
TextBoxesp. 85
Forms and Itemsp. 86
Summaryp. 98
Chapter 5 User Interface Examplesp. 99
A Simple Email Clientp. 99
The Welcome Screenp. 101
The Login Screenp. 102
The Options Screenp. 105
The Inbox Screenp. 112
The Email Details Screenp. 114
A Simple Gamep. 122
The SimpleGame Classp. 123
The Scroller Classp. 125
The GameScreen Classp. 125
Triggering Multiple Alertsp. 132
The Problemp. 132
The AlertRouter Classp. 133
The MultiAlert Examplep. 134
Summaryp. 136
Chapter 6 Network Communicationp. 137
The Generic Connection Frameworkp. 137
The and Packagesp. 138
GCF Classesp. 139
Wireless Networking with the MIDPp. 152
Hypertext Transfer Protocolp. 153
The HttpConnection Interfacep. 156
The HttpConnectionHelper Classp. 169
Summaryp. 177
Chapter 7 The Record Management Systemp. 179
Overviewp. 179
Basic Operationsp. 181
The RecordStore Classp. 181
Opening and Closing a Record Storep. 184
Listing and Deleting Record Storesp. 186
Creating and Deleting Recordsp. 187
Reading and Writing Recordsp. 188
Tracking Changes to a Record Storep. 190
Advanced Operationsp. 191
Enumerating Recordsp. 191
Filtering Recordsp. 194
Sorting Recordsp. 195
Using Streams to Read and Write Recordsp. 196
Efficiently Reading Recordsp. 198
Mapping Objects to Recordsp. 199
Using External Databasesp. 200
Communicating with the Servletp. 201
Outline and Sample Codep. 201
Formatting the Datap. 204
RMS Utility Classesp. 204
HashtableHelper: Saving and Restoring Hashtablesp. 204
UserPreferences: Saving and Restoring User Preferencesp. 206
RecordReader: Reading Records Convenientlyp. 210
CookieJar: Storing HTTP Cookiesp. 213
Summaryp. 221
Chapter 8 Securityp. 222
Security Basicsp. 222
Concepts and Terminologyp. 222
Typical Security Risksp. 223
Security Measures and Solutionsp. 224
Typical Wireless Network Operationp. 237
MIDP Securityp. 238
Summaryp. 245
Chapter 9 Using XML in MIDP Applicationsp. 246
XML: Extensible Markup Languagep. 246
XML Basicsp. 246
XML Parsersp. 248
XML by Examplep. 249
XML Parsers for MIDPp. 250
XML And Mobile Applicationsp. 251
XML in the E-Mail Clientp. 252
Other Important XML Technologiesp. 264
Summaryp. 273
Chapter 10 Techniques for Writing Better MIDP Applicationsp. 274
Writing Better Codep. 274
Follow Coding Conventionsp. 274
Use Patterns and Frameworksp. 275
Simplify the Applicationp. 275
Move Functionality to the Serverp. 276
Use Threadsp. 276
Avoid Unnecessary Object Creationp. 277
Class Variable Initialization (Initialize Your Variables Once)p. 277
Be Smart about Arithmetic Operationsp. 278
Stack Is Faster than Heapp. 278
Make Classes Final Whenever Possiblep. 278
Obfuscate the Codep. 279
Writing Portable Codep. 279
Platform Detectionp. 279
Object Serializationp. 281
Dealing with Missing Classesp. 283
Internationalization and Localizationp. 284
Summaryp. 289
Chapter 11 Final Thoughtsp. 290
The Future of the MIDP and J2MEp. 290
Alternatives to Considerp. 291
Appendix A MIDP/CLDC Quick Referencep. 293
Appendix B Resourcesp. 366
Indexp. 374