Table of Contents
 

 < Home   < Developers   < Development Support   < Documentation

Table of Contents


 Table of Contents  |  < Previous  |  Next >  |  Index
   
   

Title -
Palm OS® Programmer's Companion
vol. I

       

About This Document

Palm OS SDK Documentation

What This Volume Contains

Additional Resources

1 Programming Palm OS in a Nutshell

Why Programming for Palm OS Is Different

Screen Size

Quick Turnaround Expected

PC Connectivity

Input Methods

Power

Memory

File System

Backward Compatibility

Palm OS Programming Concepts

Programming Tools

Where to Go From Here

2 Good Design Practices

Designing Your Application

Integrating Programs With the Palm OS Environment

API Naming Conventions

Achieving Optimum Performance

Assigning a Database Type and Creator ID

Working With Databases

Writing Robust Code

Avoiding Potential Pitfalls

User Interface Guidelines

Understanding the Palm OS UI Design Philosophy

Creating a Palm OS User Interface

Palm OS Resource Selection: List or Table?

Localization Guidelines

Making Your Application Run on Different Devices

Running New Applications on an Older Device

Compiling Older Applications With The Latest SDK

3 Application Startup and Stop

Launch Codes and Launching an Application

Responding to Launch Codes

Responding to Normal Launch

Responding to Other Launch Codes

Launching Applications Programmatically

Creating Your Own Launch Codes

Stopping an Application

Notifications

Registering for a Notification

Writing a Notification Handler

Sleep and Wake Notifications

Helper Notifications

When to Use the Helper API

Requesting a Helper Service

Implementing a Helper

Launch Code Summary

Notification Summary

Launch and Notification Function Summary

4 Event Loop

The Application Event Loop

Low-Level Event Management

Event Translation: Pen Strokes to Key Events

Pen Queue Management

Key Queue Management

Auto-Off Control

System Event Manager Summary

5 User Interface

Palm OS Resource Summary

Drawing on the Palm OS Device

The Draw State

Drawing Functions

Forms, Windows, and Dialogs

Alert Dialogs

Progress Dialogs

Controls

Buttons

Popup Trigger

Selector Trigger

Repeating Button

Push Buttons

Check Boxes

Sliders and Feedback Sliders

Fields

Menus

Dynamic Menus

Menu Shortcuts

Tables

Table Event

Lists

Categories

Initializing Categories in a Database

Initializing the Category Popup Trigger

Managing a Category Popup List

The Default Application Category

Bitmaps

Versions of Bitmap Support

Drawing a Bitmap

Color Tables and Bitmaps

Labels

Scroll Bars

Custom UI Objects

Dynamic UI

Dynamic User Interface Functions

Color and Grayscale Support

Indexed Versus Direct Color Display

Color Table

UI Color List

Direct Color Functions

Pixel Reading and Writing

Direct Color Bitmaps

Insertion Point

Text

Working With Text As Strings

Fonts in Palm OS 3.0 and Later

Receiving User Input

The Graffiti Manager

The Key Manager

The Pen Manager

The Keyboard Dialog

Application Launcher

Summary of User Interface API

6 Memory

Introduction to Palm OS Memory Use

Hardware Architecture

PC Connectivity

Memory Architecture

Heap Overview

The Memory Manager

Memory Manager Structures

Using the Memory Manager

Optimizing Memory Manager Performance

Summary of Memory Management

7 Files and Databases

The Data Manager

Records and Databases

Structure of a Database Header

Using the Data Manager

The Resource Manager

Structure of a Resource Database Header

Using the Resource Manager

File Streaming Application Program Interface

Using the File Streaming API

Summary of Files and Databases

8 Expansion

Expansion Support

Primary vs. Secondary Storage

Expansion Slot

Universal Connector

Architectural Overview

Slot Drivers

File Systems

VFS Manager

Expansion Manager

Standard Directories

Applications on Cards

Card Insertion and Removal

Start.prc

Checking for Expansion Cards

Verifying Handheld Compatibility

Checking for Mounted Volumes

Enumerating Slots

Determining a Card's Capabilities

Volume Operations

Hidden Volumes

Matching Volumes to Slots

Naming Volumes

File Operations

Common Operations

Naming Files

Working with Palm Databases

Directory Operations

Directory Paths

Common Operations

Enumerating the Files in a Directory

Determining the Default Directory for a Particular File Type

Default Directories Registered at Initialization

Custom Calls

Custom I/O

Debugging

Summary of Expansion and VFS Managers

9 Attentions and Alarms

Getting the User's Attention

The Role of the Attention Manager

Attention Manager Operation

Getting the User's Attention

Attentions and Alarms

Detecting and Updating Pending Attentions

Detecting Device Capabilities

Controlling the Attention Indicator

Alarms

Setting an Alarm

Alarm Scenario

Setting a Procedure Alarm

Summary of Attentions and Alarms

10 Palm System Support

Features

The System Version Feature

Application-Defined Features

Using the Feature Manager

Feature Memory

Preferences

Accessing System Preferences

Setting System Preferences

Setting Application-Specific Preferences

Sound

Synchronous and Asynchronous Sound

Using the Sound Manager

Sound Preferences Compatibility Information

System Boot and Reset

Soft Reset

Soft Reset + Up Arrow

Hard Reset

System Reset Calls

Hardware Interaction

Palm OS Power Modes

Guidelines for Application Developers

Power Management Calls

The Microkernel

Retrieving the ROM Serial Number

Time

Using Real-Time Clock Functions

Using System Ticks Functions

Floating-Point

Summary of System Features

11 Localized Applications

Localization Guidelines

Maintaining Backward Compatibility

Using Overlays to Localize Resources

Text Manager and International Manager

Characters

Declaring Character Variables

Using Character Constants

Missing and Invalid Characters

Retrieving a Character's Attributes

Virtual Characters

Retrieving the Character Encoding

Strings

Manipulating Strings

Performing String Pointer Manipulation

Truncating Displayed Text

Comparing Strings

Global Find

Dynamically Creating String Content

Dates

Numbers

Obtaining Locale Information

Notes on the Japanese Implementation

Japanese Character Encoding

Japanese Character Input

The Calculator Button

Displaying Japanese Strings on UI Objects

Displaying Error Messages

Summary of Localization

12 Debugging Strategies

Displaying Development Errors

Using the Error Manager Macros

The Try-and-Catch Mechanism

Using the Try and Catch Mechanism

Summary of Debugging API

13 Standard IO Applications

Creating a Standard IO Application

Creating a Standard IO Provider Application

Summary of Standard IO

Index