Cover image for Palm OS programming from the ground up
Title:
Palm OS programming from the ground up
Author:
Mykland, Robert.
Personal Author:
Publication Information:
Berkeley, Calif.: Osborne/McGraw-Hill, [2000]

©2000
Physical Description:
xvi, 507 pages : illustrations ; 24 cm + 1 computer optical disc (4 3/4 in.)
General Note:
The CD-ROM includes CodeWarrior Lite.
Language:
English
Title Subject:
ISBN:
9780072121520

9780072121506

9780072121513
Format :
Book

Available:*

Library
Call Number
Material Type
Home Location
Status
Item Holds
Searching...
QA76.8.P138 M95 2000 TEXT Book and Software Set Central Closed Stacks
Searching...

On Order

Summary

Summary

Learn to build custom applications for all models of Palm devices, including Palm Computing, Handspring, Symbol, and TRG Pro devices with this soup-to-nuts resource. Add user interface elements, including buttons, triggers, menus, scrollbars, and more. Find out how to use CodeWarrior to program Palm applications quickly and easily.


Table of Contents

Acknowledgmentsp. xiii
Introductionp. xv
I Lithosphere
1 About the Palmp. 3
The Success of Palm Computingp. 4
The History of Palm Computingp. 5
The Corporate Structure of Palm Computingp. 6
The Palm OSp. 6
Version 1.0
Version 2.0
Version 3.0
Version 3.1
Version 3.2
Version 3.3
Version 3.5
The Devicesp. 9
Developing Software for Palm OSp. 13
Choice of Languagesp. 13
Palm Device Hardware Detailsp. 14
RAM and ROMp. 14
The Motorola 68328 "DragonBall"p. 14
Modesp. 15
Connectivityp. 15
Clock and Timerp. 16
Screenp. 16
Soundp. 17
Resetp. 17
2 Creating a Palm OS Applicationp. 19
The Programming Environmentp. 20
Using a Mac as Your Development Platformp. 20
What You Need to Know About Cp. 20
The Anatomy of a Palm OS Applicationp. 21
Palm OS Memoryp. 21
Palm OS Application Execution and Debuggingp. 23
Installing Your Development Environmentp. 24
IDEs and CodeWarriorp. 24
Testing Your Development Environmentp. 25
Creating Your Projectp. 30
Creating Your Resourcesp. 31
Creating the Codep. 33
Understanding the Codep. 34
Debugging: Getting It All Workingp. 39
What's Next?p. 43
3 Fun with Fieldsp. 45
What Are Fields Anyway?p. 46
Attributesp. 49
More About Eventsp. 50
Focusp. 53
Putting Text in Fieldsp. 53
Using String Resourcesp. 56
Menusp. 57
Supporting the Various Versions of the Palm OSp. 61
Errors and Alertsp. 62
What's Next?p. 63
The Final Resultp. 63
4 Applications and Formsp. 69
Application Settingsp. 70
Creating Big and Small Application Iconsp. 70
Project Settings in the CodeWarrior IDEp. 72
Multiple Formsp. 74
Additions to Contacts.rsrcp. 74
Additions to Contacts.cp. 80
Debugging Itp. 88
What's Next?p. 89
Listingp. 89
5 Databasesp. 95
Cleaning Upp. 96
Making a Copy of the Contacts Applicationp. 96
Deleting Resources from the Resource Filep. 96
Cleaning Up the Codep. 96
Adding a Databasep. 98
Database Technology and Terminologyp. 98
Additions to Contacts.rsrcp. 99
Additions to Contacts.cp. 103
Creator IDsp. 106
Fields and Database Recordsp. 109
Debuggingp. 119
What's Next?p. 120
Listingp. 120
6 Controlsp. 133
Save a Copy of Your Projectp. 134
Additions to Contacts.rsrcp. 134
Adding Date and Time Selector Triggers to the Contact Detail Formp. 134
Creating the Enter Time Formp. 137
Additions to Contacts.cp. 142
Initializing and Saving the Date and Time in the Databasep. 142
Supporting the Date and Time Selector Triggersp. 144
Supporting the Push Buttonsp. 146
Supporting the Repeating Buttonsp. 149
Supporting the Checkboxp. 150
Finishing Up the Enter Time Formp. 151
Debuggingp. 153
What's Nextp. 153
Listingp. 153
7 Lists and Sortingp. 177
Save a Copy of Your Projectp. 178
Listsp. 178
Additions to Contacts.rsrcp. 178
Additions to Contacts.cp. 182
Debuggingp. 191
Sortingp. 191
Additions to Contacts.rsrcp. 192
Additions to Contacts.cp. 194
Debuggingp. 198
What's Next?p. 198
Listingp. 198
8 Tables and Scrollingp. 231
Save a Copy of Your Projectp. 232
Remove Old Resourcesp. 232
Rip Out the Old Codep. 232
Tablesp. 233
Adding a Table Resourcep. 237
Displaying Records in Your Tablep. 238
Debugging Tablesp. 245
Three Kinds of Scrollingp. 245
Adding Scroll Buttons and a Scrollbar Resourcep. 247
Getting the Scroll Buttons Workingp. 247
Adding Support for the PAGE UP and PAGE DOWN Hard Keysp. 250
Programming Scrollbarsp. 251
Debugging Scrollbarsp. 252
What's Next?p. 252
Listingp. 253
9 Categories and Findp. 289
Save a Copy of Your Projectp. 290
Categoriesp. 290
Additions to Contacts.rsrcp. 291
Changes to Contacts.cp. 294
Debugging Categoriesp. 311
Secret Recordsp. 311
Findp. 313
Changes to Contacts.cp. 313
Debugging Findp. 321
What's Next?p. 321
Listingp. 322
II Stratosphere
10 Creating Effective User Interfacesp. 367
Design Considerationsp. 368
Standing in the User's Shoesp. 369
Immediacy Is Everythingp. 370
The Tap Factorp. 370
The Rule of Sevenp. 371
Considering the Screenp. 371
The Importance of Spacep. 372
Considering the Stylus, or Its Lackp. 373
Considering the Processorp. 373
Design Principlesp. 374
Fields, Graffiti, and the Clipboardp. 374
Menusp. 375
Buttons and Controlsp. 376
Generalp. 377
The Layout of Formsp. 378
Application Flowp. 380
Categoriesp. 380
Scrollingp. 381
Prioritizing Objectivesp. 381
The Main Formp. 382
What's Next?p. 382
11 A Survey of Tools and Solutionsp. 383
Palm OS Application Development Toolsp. 384
CodeWarriorp. 385
GCC/PRC-Toolsp. 385
Palm OS Emulatorp. 386
Palm OS SDKp. 387
Pendragon Formsp. 387
PilRCp. 388
Satellite Formsp. 388
Windows Conduit Development Toolsp. 389
CDKp. 389
CDK Java Editionp. 390
Insiderp. 390
Visual Cafe Professionalp. 391
Visual C/C++p. 391
Macintosh Conduit Development Toolsp. 391
CDKp. 392
CodeWarrior for MacOSp. 392
Peripheralsp. 392
Cards for the TRGprop. 392
Cards for the Visorp. 392
General Purpose Hardwarep. 393
Web Sitesp. 393
eScribep. 393
Handspringp. 393
J. Marshallp. 394
Massena.comp. 394
Palm Computingp. 394
Qualcomm/Kyocerap. 394
Quality Partnersp. 394
Roadcodersp. 394
Symbolp. 394
TRGp. 395
12 Programming Tricks of the Professionalsp. 397
Type-Safe Variables and Portabilityp. 398
Hungarian Notationp. 399
A Reusable Main Modulep. 401
The main.c Modulep. 402
The main.h Modulep. 410
The fcalc.c Modulep. 411
The fcalc.h Modulep. 413
The app.h Modulep. 414
Debugging Itp. 417
Listingsp. 418
A Reusable About Formp. 423
Additions to Calculator.rsrcp. 423
The fabout.c Modulep. 425
The fabout.h Modulep. 427
The fprefs.c Modulep. 427
The fprefs.h Modulep. 429
The moptions.c Modulep. 429
The moptions.h Modulep. 430
Additions to app.hp. 431
Listingp. 433
Debugging Itp. 435
Object-Oriented Programmingp. 435
C++, Java, and the Palm OSp. 436
Data Encapsulationp. 437
Data Abstractionp. 437
Inheritancep. 438
Polymorphismp. 438
What's Next?p. 439
13 More About Creating User Interfacesp. 441
Designing the Calculatorp. 442
The Visual Designp. 442
Creating the Calculatorp. 445
Additions to Calculator.rsrcp. 445
Additions to fcalc.cp. 449
Additions to fcalc.hp. 463
The calc.h Modulep. 464
Additions to app.hp. 465
Adding MathLibp. 466
Debuggingp. 466
What's Next?p. 466
Listingsp. 467
14 Porting to the Palm OSp. 479
Designing the Calculator Gutsp. 480
The Rest of the Codep. 480
A New calc.hp. 482
Generic Code: calc.cp. 482
Porting Problemsp. 495
Debuggingp. 496
Indexp. 497