Book description
PalmPilot's popularity is growing and with over a million units sold, the Palm OS dominates the hand-held market. Wired has astutely described Palm's position in a recent article: "On its way to becoming the bestselling hand-held computer of all time, the 3Com PalmPilot has spawned an intense, emotional, and fanatical developer following not seen since the glory days of the Mac." (Wired, 20 Feb. 98). Palm Programming should be eagerly accepted by programmers because the authors worked closely with Palm to ensure that the book is tailored exactly to the needs of the ever-growing group of Palm developers. As nothing but some piecemeal documentation exists currently, this book provides a much needed solution to the Palm developers. In fact, Palm uses this book as their official developer's guide and will be using it in the future as a key part of their training materials for developers. There are currently no books on Palm programming (and we know of none that are planned). The only way to learn is by using the reference material published by Palm (available freely on their Web site), the tutorial they provide, or various Palm programming FAQs compiled by third parties. Palm Programming shows intermediate to experienced C programmers how to build a Palm application from the ground up. Using an easy-to- understand tutorial approach, this book gives readers everything necessary to create a wide range of Palm applications and conduits, from simple scripts through full-blown applications, and in the process provides thorough coverage of Palm programming. It includes a CD-ROM (Macintosh and Windows compatible) with the full source code to the examples in the book, a trial version of Palm's Software Development Kit, and third-party developer tools, including Metrowerks' CodeWarrior Lite programming kit. Outline Part 1: Overview of Palm OS and devices Chapter 1: The Palm Solution Chapter 2: Developing for Palm OS Chapter 3: Designing a solution Part 2: Programming for the handheld Chapter 4: Structure of an Application Chapter 5: Forms and Form Objects Chapter 6: Databases Chapter 7: Menus Chapter 8: Extras Chapter 9: Communications Chapter 10: Debugging Part 3: Programming for the desktop: conduits Chapter 11: Getting started with conduits Chapter 12: Uploading and Downloading Data Chapter 13: Two-way Syncing Appendix: Where to go from here
Table of contents
-
Palm Programming: The Developer’s Guide
- Foreword
- Foreword
- Preface
-
I. Palm—Why It Works and How to Program It
- 1. The Palm Solution
- 2. Development Environments and Languages
-
3. Designing a Solution
- User Interface Elements in an Application
- General Design of a Palm Application
- How the Sample Applications Are Useful
- User Interface of the Sales Application
- Developing a Prototype
- Design Tradeoffs in the Sample Application
- Designing for a Small Screen
- Designing the Databases
- Designing the Conduit
- Design Summary
-
II. Designing Palm Applications
-
4. Structure of an Application
- Terminology
-
A Simple Application
- What the Application Does
- The Hello World Source Code
-
A Code Walkthrough of Hello World
- The #include files
- The main routine: PilotMain
- The startup routine: StartApplication
- The closing routine: StopApplication
- The main event loop
- Handling events with EvtGetEvent
- The event queue and application event loop
- SysHandleEvent
- MenuHandleEvent
- ApplicationHandleEvent
- Callbacks in GCC
- FrmDispatchEvent
- Hello World Summary
- Scenarios
- Memory Is Extremely Limited
- Other Times Your Application Is Called
- Summary
-
5. Forms and Form Objects
- Resources
- Forms
- Form Objects
- Resources, Forms, and Form Objects in the Sales Application
-
6. Databases
- Overview of Databases and Records
- Creating, Opening, and Closing Databases
- Working with Records
- Examining Databases in the Sales Sample
- 7. Menus
-
8. Extras
-
Tables
- An Overview of Tables
-
Simple Table Sample
- Initialization of the simple table sample
- Column 1—handling numbers
- Column 2—a checkbox
- Column 3—a label
- Column 4—a date
- Column 6—a pop-up trigger
- Columns 0, 5, and 7—handling text
- Column 8—handling custom content
- Displaying the columns
- Custom load routines
- Custom save routine
- Custom draw routine
- Handling a table event
- Tables in the Sample Application
- Find
- Beaming
- Barcodes
-
Tables
- 9. Communications
- 10. Debugging Palm Applications
-
4. Structure of an Application
-
III. Designing Conduits
-
11. Getting Started with Conduits
- Overview of Conduits
- Registering and Unregistering a Conduit
- Conduit Entry Points
- The HotSync Log
- When the HotSync Button Gets Pressed
- Using the Backup Conduit
- Creating a Minimal Sales Conduit
-
12. Uploading and Downloading Data with a Conduit
- Conduit Requirements
- Where to Store Data
- Creating, Opening, and Closing Databases
- Downloading to the Handheld
- Uploading to the Desktop
- When the HotSync Button Gets Pressed
- Portability Issues
- The Sales Conduit
-
13. Two-Way Syncing
-
The Logic of Syncing
- Fast Sync
-
Thorny Comparisons—Changes to the Same Records on Both Platforms
- A record is deleted on one database and modified on the other
- A record is archived on one database and changed on the other
- A record is archived on one database and deleted on the other
- A record is changed on one database and changed differently on the other
- A record is changed on one database and changed identically on the other
- Slow Sync
- The Conduit Classes
- Sales Conduit Sample Based on the Classes
- Generic Conduit
- Sales Conduit Based on Generic Conduit
-
The Logic of Syncing
- 14. Debugging Conduits
- A. Where to Go From Here
-
11. Getting Started with Conduits
- Index
- Colophon
Product information
- Title: Palm Programming: The Developer's Guide
- Author(s):
- Release date: December 1998
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781565925250
You might also like
book
Palm OS Programming, 2nd Edition
With more than 16 million PDAs shipped to date, Palm has defined the market for handhelds, …
book
Programming Visual Basic for the Palm OS
Due to the immense popularity of Palm OS devices, demand for Palm OS applications has increased …
book
WebObjects® Developer's Guide
WebObjects is an object-oriented Web application server that is used to generate scalable Web and Java …
book
AppleScript: The Missing Manual
From newspapers to NASA, Mac users around the world use AppleScript to automate their daily computing …