Palm OS Programmer's Companion is part of the Palm OS® Software Development Kit. This introduction provides an overview of SDK documentation, discusses what materials are included in this document and what conventions are used.
Palm OS SDK Documentation

The following documents are part of the SDK:
Document |
Description |
Palm OS Programmer's API Reference |
An API reference document that contains descriptions of all Palm OS function calls and important data structures. |
Palm OS Programmer's Companion |
A multi-volume guide to application programming for the Palm OS. This guide contains conceptual and "how-to" information that complements the Reference. |
Constructor for Palm OS |
A guide to using Constructor to create Palm OS resource files. |
Palm OS Programming Development Tools Guide |
A guide to writing and debugging Palm OS applications with the various tools available. |
What This Volume Contains

This volume is designed for random access. That is, you can read any chapter in any order. You don't necessarily have to read some before others, though the first few chapters are designed for programmers who are new to the Palm OS. The first four chapters help you learn necessary tasks and possible features for your application.
Note that each chapter ends with a list of hypertext links into the relevant function descriptions in the Reference book.
Here is an overview of this volume:
Chapter 1, "Programming Palm OS in a Nutshell." Provides new Palm OS programmers with a summary of what tasks and tools are involved in writing a PalmTM application and provides pointers to where to look for more information.
Chapter 2, "Good Design Practices." Provides new Palm OS programmers with guidelines for creating a well-designed Palm application with a well-designed user interface.
Chapter 3, "Application Startup and Stop." Describes how to use and respond to launch codes to start and stop an application and perform other actions. Describes how to implement the PilotMain function, the entry point for all applications.
Chapter 4, "Event Loop." Describes the event manager, events, the event loop, and how to implement the event loop in your application. Discusses how your application and the system interact to handle events.
Chapter 5, "User Interface." Describes the user interface elements that you can use in your application and how to use them. Also covers related topics such as drawing, dynamic UI, receiving user input, and the application launcher.
Chapter 6, "Memory." Describes the memory architecture, memory use on the Palm devices, and the memory manager.
Chapter 7, "Files and Databases." Describes the data storage system, the data manager, resource manager, and the file streaming API.
Chapter 8, "Expansion." Describes how to work with expansion cards and add-on devices using the Palm OS Expansion and Virtual File System (VFS) Managers.
Chapter 9, "Attentions and Alarms."Describes the Attention Manager, which applications use to bring important events to the user's attention, and the Alarm Manager, which allows applications to receive notification at some future point in time.
Chapter 10, "Palm System Support." Describes features unique to the Palm hardware and OS such as the feature manager, preferences, the sound manager, system boot and reset, the microkernal, time, and floating point arithmetic.
Chapter 11, "Localized Applications." Discusses how to make your application localizable. Includes information on the text and international managers, as well as dealing with alternative character encodings, strings, numbers, and dates.
Chapter 12, "Debugging Strategies." Describes programmatic approaches to debugging your application; that is, using the error manager and the Palm OS try and catch mechanism for debugging.
Chapter 13, "Standard IO Applications." Describes how to create a command line application. On Palm OS, command line applications are typically used by developers for debugging purposes only.
Volume II of the Palm OS Programmer's Companion discusses communications.
Additional Resources

Documentation
Palm publishes its latest versions of this and other documents for Palm OS developers at
http://www.palmos.com/dev/tech/docs/
Training
Palm and its partners host training classes for Palm OS developers. For topics and schedules, check
http://www.palmos.com/dev/tech/support/classes/
Knowledge Base
The Knowledge Base is a fast, web-based database of technical information. Search for frequently asked questions (FAQs), sample code, white papers, and the development documentation at
http://www.palmos.com/dev/tech/kb/
|