Book description
With more than 16 million PDAs shipped to date, Palm has defined the market for handhelds, having dominated this class of computing devices ever since it began to outpace competitors six years ago. The company's strength is the Palm OS, and developers loyal to this powerful and versatile operating system have created more than 10,000 applications for it. Devices from Handspring, Sony, Symbol, HandEra, Kyocera, and Samsung now use Palm OS, and the number of registered Palm Developers has jumped to 130,000.If you know C or C++, and want to join those who are satisfying the demand for wireless applications, then Palm OS Programming: The Developer's Guide, Second Edition is the book for you. With expanded coverage of the Palm OS--up to and including the latest version, 4.0--this new edition shows intermediate to experienced C programmers how to build a Palm application from the ground up. There is even useful information for beginners.Everything you need to write a Palm OS application is here, from user interface design, to coding a handheld application, to writing an associated desktop conduit. All the major development environments are discussed, including commercial products such as Metroworks CodeWarrior, Java-based environments such as Sun KVM and IBM VisualAge Micro Edition, and the Free Software Foundation's PRC-Tools or GCC. The focus, however, is C programming with CodeWarrior and PRC-Tools. New additions to the second edition include:
- A tutorial that takes a C programmer through the installation of necessary tools and the creation of a small handheld application.
- A new chapter on memory, with a comprehensive discussion of the Memory Manager APIs.
- Greatly expanded discussions of forms, forms objects, and new APIs for the Palm OS.
- Updated chapters on conduits that reflect the newer Conduit Development Kit.
Publisher resources
Table of contents
- Palm OS Programming: The Developer’s Guide, 2nd Edition
- Preface
-
I. Overview of the Palm OS
- 1. The Palm Solution
- 2. Technical Overview and Development Environments
-
3. Designing a Solution
- User Interface Elements in the Palm OS
-
Designing with a Particular User in Mind
- Comparing Date Book, Datebook+, and DateBk4
- DateBk4’s Extra Features
- Why the Designs of Date Book, Datebook+, and DateBk4 Differ
- The 80/20 Rule
- Date Book: The Most Important Aspects of an Application
- Datebook+: The Most Important Aspects of an Application
- DateBk4: The Most Important Aspects of an Application
- What Should Be Sacrificed?
- Who Is Your User?
-
The Well-Designed Form
- The To Do List—A Well-Designed Main Form
- The Security Application—A Not-So-Well-Designed Form
- The Date Book—A Well-Designed Dialog Box
- WordSmith—A Well-Designed Dialog Box
- The Address Application—A Well-Designed Alert
- Bejeweled—A Really Well-Designed Alert
- Taking Advantage of the Unique Elements in an Application
- Other Design Issues
- How the Sample Applications Are Useful
- User Interface of the Sales Application
- Designing the Sales Application
- Designing the Conduit
- Design Summary
-
II. Programming a Palm Application
-
4. Tutorial
- POSE
- CodeWarrior
- PRC-Tools
- Installing OReilly Sample project
- Installing a PRC on the Handheld
- Installing PRC on POSE
- Modifying the Sample Application
-
5. 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
- 6. Memory Manager
- 7. Debugging Palm Applications
- 8. Resources and Forms
-
9. Form Objects
- Form Object Characteristics
- Form Object Events
- Form Object APIs
-
Types of Form Objects
- Labels
- Bitmaps
- Graffiti Shift Indicator
- Lists
- Controls
- Gadgets
- Fields
- Scrollbars
-
Tables
- Display-only data types
- Edit and display data types
- Display-only data types
- Editable data types
- Initializing tables
- Resource
- Initialization of the records in the database
- Initialization of the simple table sample
- Column 0: handling numbers
- Column 1: a checkbox
- Column 2: a label
- Column 3: a date
- Column 4: a pop-up trigger
- Column 5: handling text
- Column 6: handling custom content
- Displaying the columns
- Custom load routines
- Custom save routine
- Releasing the records
- Custom draw routine
- Handling a table event
- Sales Application Forms and Form Objects
-
10. Databases
- Overview of Databases and Records
- Opening, Creating, and Closing Databases
- Working with Records
- Examining Databases in the Sales Sample
- Summary
- 11. Menus
- 12. Extras
-
13. Communications
-
Serial Communications
- Serial APIs
- Connection Manager
- Tips for Using the Serial Manager
-
Sample Serial Application
- Features of the sample application
- The GPS device
- The NMEA protocol
- Opening the serial port
- Closing the serial port
- Routines that work with the old and new Serial Managers
- Allowing the user to choose a port
- Opening the port
- The Main form
- Setting the receive buffer to hold data
- The event loop
- The event handler
- Updating the display with new GPS data
- Alerting the user if GPS hasn’t been heard from lately
- Reading the GPS data
- Updating the display
- Sample Asynchronous Receive
-
TCP/IP Communications
- Network API
- Tips for Using TCP/IP
-
Sample Network Application
- Creating the sample application on Linux
- The Linux main program
- Linux include files and global definitions
- Sending the mail
- Connecting to the server
- Getting a port
- Reading data character by character
- Sending data character by character
- Testing the Linux application
- Porting the Linux application to Palm OS
-
Serial Communications
-
4. Tutorial
-
III. Designing Conduits
-
14. 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
-
15. 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
-
16. Two-Way Syncing
-
The Logic of Syncing
-
Thorny Comparisons—Changes to the Same Records on Both Platforms
- The rule—first, do no harm
- 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
- Fast Sync
- Slow Sync
-
Thorny Comparisons—Changes to the Same Records on Both Platforms
- 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
-
The Logic of Syncing
-
14. Getting Started with Conduits
-
IV. Appendixes
- A. Where to Go from Here
- B. Sales Source Code
-
C. PilRC Manual
- Usage
- Understanding the Manual
- Resource Language Reference
- FORM (tFRM)
- MENU (MBAR)
- ALERT (Talt)
- VERSION
- STRING (tSTR)
- STRINGTABLE (tSTL)
- CATEGORIES (tAIS)
- APPLICATIONICONNAME (tAIN)
- APPLICATION (APPL)
- LAUNCHERCATEGORY (taic)
- ICON (tAIB)
- SMALLICON (tAIB)
- BITMAP (Tbmp) (tbsb)
- TRAP (TRAP)
- FONT (NFNT)
- FONTINDEX
- HEX
- DATA
- INTEGER (tint)
- BYTELIST (BLST)
- WORDLIST (wrdl)
- LONGWORDLIST (DLST)
- PALETTETABLE (tclt)
- FEATURE (tfea)
- GRAFFITIINPUTAREA (silk)
- COUNTRYLOCALISATION (cnty)
- KEYBOARD (tkbd)
- MIDI (MIDI)
- International Support
- Known Bugs
- Index
- About the Authors
- Colophon
- Copyright
Product information
- Title: Palm OS Programming, 2nd Edition
- Author(s):
- Release date: October 2001
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781449369071
You might also like
book
Palm OS Network Programming
The wireless revolution has touched off a huge demand for Palm OS network applications. But information …
book
SwiftUI for Absolute Beginners: Program Controls and Views for iPhone, iPad, and Mac Apps
Dive into the world of developing for all of Apple platforms with SwiftUI, Apple’s new framework …
book
PalmPilot: The Ultimate Guide, Second Edition
3Com's PalmPilot is the world's bestselling hand-held computer platform. In three years, its 16 models from …
book
Wheeled Mobile Robotics
Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systemscovers the main topics from the wide area of …