Palm Programmer's Laboratory
Palm OS Programmer's Companion Volume I/TOC
目次
- 0 このドキュメントについて
- 1 小箱の中の Palm OS プログラミング
- 1-1 Palm OS プログラミングはなぜ「違う」のか
- 画面サイズ
- 素早い応答の要求
- PC との接続
- インプットメソッド
- 電源
- メモリ
- ファイルシステム
- 下位互換性
- 1-2 Palm OS プログラミングのコンセプト
- API の命名に関する慣習
- プログラムのPalm OS 環境との協調
- 頑丈なコードを書くこと
- 1-3 データベースタイプとクリエータIDの設定
- 1-4 アプリケーションを様々なデバイスで動作させるには
- 新しいアプリケーションを古いデバイスで動作させる
- PalmOSGlue ライブラリを使った下位互換性の維持
- 最新の SDK での古いアプリケーションのコンパイル
- 1-5 プログラミングツール
- 1-6 次に読むべきもの
- 1-1 Palm OS プログラミングはなぜ「違う」のか
- 2 アプリケーションの開始と終了
- 2-1 起動コードとアプリケーションの起動
- 2-2 起動コードへの応答
- 通常起動に対する応答
- その他の起動コードに対する応答
- 2-3 プログラムからのアプリケーション起動
- 2-4 独自起動コードの作成
- 2-5 アプリケーションの終了
- 2-6 ノティフィケーション
- ノティフィケーションの受信登録
- ノティフィケーションハンドラの作成
- スリープとウェイクのノティフィケーション
- 2-7 ヘルパー・ノティフィケーション
- ヘルパー API を使う場合
- ヘルパーサービスのリクエスト
- ヘルパーの作成
- 2-8 ソケット・ノティフィケーション
- 2-9 起動コードの要約
- 2-10 ノティフィケーションの要約
- 2-11 起動と通知に関する関数の要約
- 3 イベントループ
- 3-1 アプリケーションのイベントループ
- 3-2 低水準のイベント管理
- Graffiti マネージャ
- キーマネージャ
- ペンマネージャ
- システムイベントマネージャ
- 3-3 カスタムイベントの作成と処理
- カスタムイベントと Palm OS イベントキュー
- 3-4 システムイベントマネージャの要約
- システムイベントマネージャ関数
- Graffiti マネージャ関数
- キーマネージャ関数
- ペンマネージャ関数
- 4 ユーザーインターフェース
- 4-1 Palm OS リソースの概要
- 4-2 Palmハンドヘルドにおける描画
- 描画ステート
- 描画関数
- 高密度( High-Density )ディスプレイ
- 4-3 フォーム、ウィンドウ、ダイアログ
- アラートダイアログ
- プログレスダイアログ
- キーボードダイアログ
- オフスクリーンウィンドウ
- 4-4 コントロール
- ボタン
- ポップアップトリガー
- セレクタトリガー
- リピートボタン
- プッシュボタン
- チェックボックス
- スライダーとフィードバックスライダー
- 4-5 フィールド
- 4-6 メニュー
- メニューの可視性チェック
- ダイナミックメニュー
- メニューショートカット
- 4-7 テーブル
- テーブルのイベント
- 4-8 リスト
- テーブルのかわりにリストを使用する
- 4-9 カテゴリ
- データベースカテゴリの初期化
- カテゴリポップアップトリガーの初期化
- カテゴリポップアップリストの処理
- 4-10 ビットマップ
- ビットマップサポートのバージョン
- ビットマップファミリ
- ビットマップの描画
- カラーテーブルとビットマップ
- 4-11 ラベル
- 4-12 スクロールバー
- 4-13 カスタム UI オブジェクト(ガジェット)
- 4-14 ダイナミック UI
- ダイナミック UI 関数
- 4-15 カラーとグレイスケールのサポート
- インデックスカラー表示とダイレクトカラー表示
- カラーテーブル
- UI カラーリスト
- ダイレクトカラー関数
- ピクセルの読み取りと書き込み
- ダイレクトカラービットマップ
- 4-16 挿入ポイント
- 4-17 アプリケーションランチャ
- ランチャにおけるアイコン
- アプリケーションのバージョン文字列
- デフォルトのアプリケーションカテゴリ
- プログラムからのランチャのオープン
- 4-18 ユーザーインターフェース API の要約
- プログレスマネージャ関数
- フォーム関数
- ウィンドウ関数
- コントロール関数
- フィールド関数
- メニュー関数
- テーブル関数
- プライベートレコード関数
- カテゴリ関数
- ビットマップ関数
- スクロールバー関数
- UI カラーリスト関数
- UI コントロール
- 挿入ポイント関数
- キーボードダイアログ関数
- 5 メモリ
- 5-1 Palm OS におけるメモリ使用の概要
- ハードウェアアーキテクチャ
- PCとの接続
- 5-2 メモリアーキテクチャ
- ヒープの概要
- 5-3 メモリマネージャ
- メモリマネージャの構造
- メモリマネージャの使用
- パフォーマンスの最適化
- 5-4 メモリ管理の要約
- メモリマネージャの関数
- 5-1 Palm OS におけるメモリ使用の概要
- 6 ファイルとデータベース
- 6-1 データマネージャ
- レコードとデータベース
- データベースヘッダの構造
- データマネージャの使用
- データベースの自動バックアップおよびレストア
- データマネージャのヒント
- 6-2 リソースマネージャ
- リソースデータベースヘッダの構造
- リソースマネージャの使用
- 6-3 ファイルストリーミングの API
- ファイルストリーミング API の使用
- 6-4 ファイルとデータベースの要約
- データマネージャ関数
- データマネージャ関数
- 6-1 データマネージャ
- 7 拡張
- 7-1 拡張サポート
- プライマリストレージとセカンダリストレージ
- 拡張スロット
- ユニバーサルコネクタ
- 7-2 アーキテクチャの概要
- スロットドライバ
- ファイルシステム
- VFS マネージャ
- 拡張マネージャ
- 7-3 標準的なディレクトリ
- 7-4 カード上のアプリケーション
- 7-5 カードの挿入と取出し
- Start.prc
- 7-6 拡張カードのチェック
- ハンドヘルドの互換性検査
- マウントされたボリュームのチェック
- スロットの列挙
- カードの機能の確認
- 7-7 ボリュームの操作
- 隠しボリューム
- ボリュームとスロットの対応付け
- ボリュームの命名
- 7-8 ファイルの操作
- 共通的な操作
- ファイルの命名
- Palmデータベースの操作
- 7-9 ディレクトリの操作
- ディレクトリパス
- 共通的な操作
- ディレクトリ内のファイルの列挙
- ファイルタイプからのデフォルトディレクトリの取得
- 初期化時に登録されるデフォルトディレクトリ
- 7-10 カスタムコール
- カスタム I/O
- 7-11 デバッグ
- 7-12 拡張カードと VFS マネージャの要約
- 拡張マネージャ関数
- VFS マネージャ関数
- 7-1 拡張サポート
- 8 テキスト
- 8-1 テキストマネージャと国際化マネージャ
- 8-2 文字
- 文字変数の宣言
- 文字定数の使用
- 欠落文字と不正文字
- 文字属性の取得
- 仮想文字
- 文字エンコーディングの取得
- 8-3 文字列
- 文字列の操作
- 文字列ポインタの操作
- 表示テキストの切り詰め
- 文字列の比較
- 大域検索
- 文字列コンテンツの動的作成
- StrVPrintF 関数の使用
- 8-4 フォント
- 組込みフォント
- 使用するフォントの選択
- 高密度ディスプレイ用のフォント
- プログラムからのフォント設定
- フォント情報の取得
- カスタムフォントの作成
- 8-5 テキスト API の要約
- テキストマネージャ
- ストリングマネージャ関数
- フォント関数
- 9 アプリケーションとダイナミックインプットエリア
- 9-1 ダイナミックインプットエリアフィーチャ
- 9-2 サイズの制約
- 9-3 インプットエリアのポリシー
- インプットエリアポリシーの設定
- 入力トリガーの有効化
- 入力エリア状態の設定
- 9-4 フォームのリサイズ
- 9-5 コントロールバーの表示と非表示
- 9-6 ペン入力マネージャの互換性
- sysFtrNumInputAreaFlags の新規サポート
- winDisplayChangedEvent の追加
- 入力トリガー状態のレストア
- 入力エリアの状態として pinInputAreaUser を追加
- 新しい Stat〜 系関数
- ディスプレイの表示方向の変更を新しくサポート
- 10 アテンションとアラーム
- 10-1 ユーザーに対するアテンション
- アテンションマネージャの役割
- アテンションマネージャの操作
- ユーザーに対するアテンション
- アテンションとアラーム
- 保留アテンションの検出と更新
- デバイス機能の検出
- アテンションインジケータの制御
- 10-2 アラーム
- アラームの設定
- アラームのシナリオ
- プロシージャアラームの設定
- 10-3 アテンションとアラームの要約
- アテンションマネージャ関数
- アラームマネージャ関数
- 10-1 ユーザーに対するアテンション
- 11 Palm のシステムサポート
- 11-1 フィーチャ
- システムバージョンフィーチャ
- アプリケーション定義のフィーチャ
- フィーチャマネージャの使用
- フィーチャメモリ
- 11-2 プリファレンス
- システムプリファレンスへのアクセス
- システムプリファレンスの設定
- アプリケーション固有プリファレンスの設定
- 11-3 サウンド
- シンプルサウンド
- サンプリングサウンド
- シンプル vs サンプリング
- サウンドのプリファレンス
- スタンダード MIDI ファイル
- 11-4 システムのブートとリセット
- ソフトリセット
- 上ボタンリセット
- ハードリセット
- システムリセットコール
- 11-5 ハードウェアとのやりとり
- Palm OS の電源モード
- アプリケーション開発者のためのガイドライン
- 電源管理の関数
- 11-6 マイクロカーネル
- 11-7 ROM シリアルナンバー
- 11-8 時刻
- 実時間クロック関数の使用
- システムクロック関数の使用
- 11-9 浮動小数点数
- 11-10 システムフィーチャの要約
- フィーチャマネージャ関数
- プリファレンス関数
- サウンドマネージャ関数
- システムマネージャ関数
- タイムマネージャ関数
- 浮動小数点数マネージャ関数
- 11-1 フィーチャ
- 12 アプリケーションのローカライズ
- 12-1 ローカライズのガイドライン
- 12-2 リソースローカライズのためのオーバレイの使用
- 12-3 日付
- 12-4 数値表現
- 12-5 ロケール情報の取得
- 12-6 日本に関する実装の注意点
- 日本語の文字エンコーディング
- 日本語の文字入力
- カリキュレータボタン
- UI オブジェクトにおける日本語文字列の表示
- エラーメッセージの表示
- 中国語のフォント
- 12-7 ローカライズの要約
- 数値表現のローカライズ
- ロケールマネージャ
- 国際化マネージャ
- オーバレイマネージャ
- 13 セキュリティ
- 13-1 認証マネージャ
- 認証ストアの操作
- 認証情報の検証と解析
- 認証情報のバックアップとレストア
- 13-1 認証マネージャ
- 14 Palm OS Garnet ARM プログラミング
- 14-1 Palm OS Garnet と ARM を理解する
- Palm Application Compatibility Environment
- 14-2 ARM ネイティブサブルーチンの使用
- 14-3 ARM ネイティブサブルーチンの呼び出し
- 14-4 ARM ネイティブサブルーチンの作成
- 68K アプリケーションのパフォーマンス上重要な部分を隔離する
- ARM ネイティブサブルーチンが引数を1つだけとるように修正する
- 68K と ARM の技術的な違いを処理する
- ARM ネイティブサブルーチンをテストする
- ARM ネイティブサブルーチンをビルドする
- 68KアプリケーションにARMコードを組み込む
- 14-5 ARM コードからの Palm OS API の呼び出し
- トラップのコール
- 関数ポインタを使用した関数呼び出し
- 14-6 サンプルファイルの概要
- ARM ネイティブサブルーチンのサンプルファイル
- Windows DLL のサンプルファイル
- 14-1 Palm OS Garnet と ARM を理解する
- 15 デバッグ戦略
- 15-1 開発時のエラーの表示
- 15-2 エラーマネージャマクロの使用
- 15-3 Try/Catch メカニズム
- Try/Catch メカニズムの使用
- 15-4 ARM デバッグ Nub の使用
- ARM デバッガ Nub のアクティベート
- Palm OS デバッガへの登録
- 15-5 デバッグ API の要約
- エラーマネージャ関数
- ARM デバッグ Nub マクロ
- 16 標準 I/O アプリケーション
- 16-1 標準 I/O アプリケーションの作成
- 16-2 標準 I/O プロバイダアプリケーションの作成
- 16-3 標準 I/O の要約
- 標準 I/O のマクロおよび関数
- アプリケーション定義の関数
- 標準 I/O プロバイダアプリケーション