Palm Database Programming:
The Complete Developer's Guide
A comprehensive guide to Palm OS programming, with special
emphasis on database manipulation using the low-level
Palm OS functionality and higher-level add-ons from Sybase
New! The first
five chapters of the book are now reprinted on this website in
HTML format. No registration required, but please respect the copyright
and disclaimer notices.
|John Wiley & Sons
Published in late 1999, parts of this book are now dated.
Interestingly enough, the first five chapters are still
very relevant today, though, because the basic
architecture of Palm OS (from 1.x to 5.x) has not changed
significantly. If you're looking for a good introduction
to Palm OS programming, even if you're not especially
interested in the database aspects, the first five
chapters are very useful. These chapters are
available online in HTML format for your reading pleasure.
Buy from Amazon.com
- shows you how to write applications in C or C++ for the
Palm computing platform;
- introduces you to Palm databases and general relational database theory; and
- discusses and demonstrates how to synchronize data on
a Palm device with an external database, featuring
technology from Sybase and Oracle.
Included with the book is a CD-ROM with a complete set of
development tools, reference documentation and working
examples. (CD-ROM contents are listed below.)
The reader is expected to know C or C++
and know how to use (as to opposed
to knowing how to program) a Palm device. Database
programming experience is not required.
Why I Wrote This Book
My wife gave me a PalmPilot Professional as a birthday gift
in 1998, primarily because she had seen my excitement at
playing with a co-worker's device. Once I got over the
initial learning period and had made the device a useful
part of my life, the geek in me (see my
biography) was curious
about how it worked. I didn't have a killer
application to develop, but I was interested in
learning about the operating system and discovering
things like whether or not applications are suspended when you
switch from one to another (they're not, by the way,
it's all an illusion).
At the time, there were books on using Palm devices,
but nothing about programming them. All you had to
work with were the official reference materials
from Palm Computing (which are actually quite good)
and the sample source code for the built-in
applications. Given the popularity
of the device, that was soon to change, and right now
there are several books (including mine, of course)
dealing with this topic.
Meanwhile, my employer, iAnywhere
Solutions (a Sybase subsidiary),
had announced a very cool new
technology called UltraLite, which was basically a way
of building custom relational databases for
handheld and embedded devices. Those custom databases
had the built-in ability to
synchronize (exchange) their data with conventional
external databases. I wasn't on the UltraLite team
at that point (I am now), but I was very interested
in the technology and I thought it would make a good
topic for part of a book.
My interest in Palm programming and UltraLite led
directly to the development of this book, a book
that strives to make you understand how a Palm
device works and how to program it and then
goes on to discuss the database programming options
that are available to you on that platform.
The book has ten chapters and two appendices, with the main
body of text split into three parts.
- 1. Introduction
- Introduces the book and what you can expect
to get out of it. Read online
- Part 1: Platform Basics
- The first part is all about the Palm Computing Platform.
After you read this part you'll know enough to build a simple
- 2. What You Need to Know about Palm Devices
- Describes the basic hardware of a Palm device, the
operating system and memory management -- the basic set
of information you need to know as a software developer.
- 3. Development Tools and Software Development Kits
- Covers the Palm OS SDK, CodeWarrior, the GNU Tools,
the Palm OS Emulator and other related topics.
- 4. Writing Palm Applications
- Describes how to write Palm applications -- launch
codes, event loops, user interface objects, and related
material. Includes a discussion on strategies to use
if your application is launched without being able to
access its global data.
- Part 2: Databases
- The second part is all about databases: Palm databases
versus relational databases.
- 5. Palm Databases
- Details the built-in APIs avaiable to Palm applications
for using record- and resource-oriented databases.
- 6. Relational Databases
- Describes what a relational database is and how to use
it and how it compares with the native record-oriented
databases on the Palm.
- Part 3: Database Applications
- The last part takes the material from the first two
parts and applies them to writing database applications
that can synchronize with external databases and featuring
technology from Sybase and Oracle.
- 7. Data Synchronization
- Introduces the general concepts behind synchronizing two data
- 8. Sybase UltraLite
- Describes Sybase's UltraLite technology, a way to build
a custom relational database embedded in your application that
can synchronize with external ODBC data sources. Shows you
the complete steps for building a Palm-based UltraLite application.
- 9. Oracle Lite Consolidator
- Describes Oracle's Consolidator technology, a way to
synchronize a Palm record database with an Oracle Lite
- 10. Conclusion
- Wraps things up.
- Two short appendices provide some additional information.
- A. CD-ROM Contents
- The contents of the CD-ROM and instructions on how
to use it. See below for a list of what's on the CD-ROM.
- B. Sybase Adaptive Server Anywhere
- UltraLite is deployment technology for Sybase's
Adaptive Server Anywhere (ASA) database. A fully-functional
copy of ASA, including UltraLite, is included on the CD-ROM,
and this appendix describes how to install and use it.
The accompanying CD-ROM includes the following:
- Evaluation Software: Evaluation copies of CodeWarrior
Lite Release 5 and Sybase Adaptive Server Anywhere 6.02.
- Palm Computing Software and Documentation: Software,
documentation and SDKs licensed from Palm Computing for inclusion
with this book.
- GNU Tools: The PilRC distribution of the GNU tools
described in Chapter 3.
- Samples: Complete source code for all the samples
in the book.
The CD-ROM also includes a couple of miscellaneous utilities
for UltraLite development.
Please note that these tools are all extremely dated now.
Do not buy this book for the CD-ROM contents only!
For More Information
See my Palm OS pages
for more Palm OS programming information.