| |
| |
Preface | |
| |
| |
| |
Overview of the Palm OS | |
| |
| |
| |
The Palm Solution | |
| |
| |
How Palm Succeeded | |
| |
| |
Elements in the Magic Formula | |
| |
| |
Easy to Carry | |
| |
| |
Inexpensive | |
| |
| |
Expandable | |
| |
| |
Effortlessly Connects to a Desktop Computer | |
| |
| |
Works Great and Is Simple to Use | |
| |
| |
Designing Applications for Palm Devices | |
| |
| |
| |
Technical Overview and Development Environments | |
| |
| |
Palm OS Overview | |
| |
| |
Conduit Overview | |
| |
| |
Handheld Development Environments | |
| |
| |
Alternative Development Environments | |
| |
| |
High-Level Forms Development | |
| |
| |
Handheld Development Recommendations | |
| |
| |
Conduit Development | |
| |
| |
| |
Designing a Solution | |
| |
| |
User Interface Elements in the Palm OS | |
| |
| |
Designing with a Particular User in Mind | |
| |
| |
The Well-Designed Form | |
| |
| |
Other Design Issues | |
| |
| |
How the Sample Applications Are Useful | |
| |
| |
User Interface of the Sales Application | |
| |
| |
Designing the Sales Application | |
| |
| |
Designing the Conduit | |
| |
| |
Design Summary | |
| |
| |
| |
Programming a Palm Application | |
| |
| |
| |
Tutorial | |
| |
| |
POSE | |
| |
| |
Code Warrior | |
| |
| |
PRC-Tools | |
| |
| |
Installing OReilly Sample project | |
| |
| |
Installing a PRC on the Handheld | |
| |
| |
Installing PRC on POSE | |
| |
| |
Modifying the Sample Application | |
| |
| |
| |
Structure of an Application | |
| |
| |
Terminology | |
| |
| |
Palm OS Conventions | |
| |
| |
The Palm OS and an Application | |
| |
| |
A Simple Application--OReilly Starter | |
| |
| |
Other Times Your Application Is Called | |
| |
| |
Examples | |
| |
| |
What to Remember | |
| |
| |
| |
Memory Manager | |
| |
| |
Types of Memory | |
| |
| |
Dynamic Memory Allocation | |
| |
| |
Stack Space | |
| |
| |
Handling Large Amounts of Data | |
| |
| |
Owner IDs | |
| |
| |
Cards and Local IDs | |
| |
| |
Using Memory Effectively | |
| |
| |
Memory TestAPIs Example | |
| |
| |
What to Remember | |
| |
| |
| |
Debugging Palm Applications | |
| |
| |
POSE | |
| |
| |
Graffiti Debugging Shortcuts | |
| |
| |
Source-Level Debugging | |
| |
| |
Gremlins | |
| |
| |
Error Manager | |
| |
| |
Palm OS Sources | |
| |
| |
Low-Level Debugging with PalmDebugger | |
| |
| |
Device Reset | |
| |
| |
Using Simulator on Mac OS | |
| |
| |
Release/Debug Targets | |
| |
| |
| |
Resources and Forms | |
| |
| |
Resources | |
| |
| |
Form Characteristics | |
| |
| |
Form Events | |
| |
| |
Form-Level APIs | |
| |
| |
Modeless Forms | |
| |
| |
Alerts | |
| |
| |
Modal Dialog Boxes | |
| |
| |
Forms in the Sales Application | |
| |
| |
| |
Form Objects | |
| |
| |
Form Object Characteristics | |
| |
| |
Form Object Events | |
| |
| |
Form Object APIs | |
| |
| |
Types of Form Objects | |
| |
| |
Sales Application Forms and Form Objects | |
| |
| |
| |
Databases | |
| |
| |
Overview of Databases and Records | |
| |
| |
Opening, Creating, and Closing Databases | |
| |
| |
Working with Records | |
| |
| |
Examining Databases in the Sales Sample | |
| |
| |
Summary | |
| |
| |
| |
Menus | |
| |
| |
Menu User Interface | |
| |
| |
Menu Resources | |
| |
| |
Application Code for Menus | |
| |
| |
Adding Menus to the Sample Application | |
| |
| |
Summary | |
| |
| |
| |
Extras | |
| |
| |
Find | |
| |
| |
Exchange | |
| |
| |
| |
Communications | |
| |
| |
Serial Communications | |
| |
| |
TCP/IP Communications | |
| |
| |
| |
Designing Conduits | |
| |
| |
| |
Getting Started with Conduits | |
| |
| |
Overview of Conduits | |
| |
| |
Using the Backup Conduit | |
| |
| |
Registering and Unregistering | |
| |
| |
Using Desktop APIs | |
| |
| |
Conduit Entry Points | |
| |
| |
The HotSync Log | |
| |
| |
When the HotSync Button Is Pressed | |
| |
| |
Using Conduit Inspector to Verify Your Conduit | |
| |
| |
Syncing from POSE | |
| |
| |
Creating a Minimal Sales Conduit | |
| |
| |
| |
Moving Data to and from the Handheld with a Conduit | |
| |
| |
Conduit Requirements | |
| |
| |
Where to Store Data | |
| |
| |
Creating, Opening, and Closing Databases | |
| |
| |
Moving Data to the Handheld | |
| |
| |
Moving Data to the Desktop | |
| |
| |
Keeping the HotSync Progress Dialog Box Alive | |
| |
| |
When the HotSync Button Is Pressed | |
| |
| |
Portability Issues | |
| |
| |
The Sales Conduit | |
| |
| |
| |
Two-Way Syncing | |
| |
| |
The Logic of Syncing | |
| |
| |
MFC Conduit Framework | |
| |
| |
Generic Conduit Framework | |
| |
| |
Generic Conduit Classes | |
| |
| |
Using the Wizard to Create a Minimal Generic Conduit | |
| |
| |
Custom File Formats | |
| |
| |
Handling Categories | |
| |
| |
Sales Conduit Based on Generic Conduit | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Where to Go from Here | |
| |
| |
| |
Sales Source Code | |
| |
| |
| |
PilRC Manual | |
| |
| |
Index | |