Palm Programmer's Laboratory
Palm OS Programmer's Companion Volume I/1-3
1-3 データベースタイプとクリエータIDの設定
それぞれの Palm OSアプリケーションは、4バイトのクリエータIDで一意に識別されます。アプリケーションに関連したデータベース全てに同じクリエータIDを割り当てることで、これらのデータベースがアプリケーションと関連付けられます。これにより、例えばランチャの情報画面で、それぞれのアプリケーションが使用しているメモリ量の合計を計算するためにクリエータIDを使用できるといった利点があります。
Palm ハンドヘルド上のそれぞれのデータベースは、クリエータIDの他にデータベースタイプというものを持っています。データベースタイプによって、アプリケーションとOSは同じクリエータIDを持つ複数のデータベースを区別することができます。アプリケーションには、データベースタイプとして sysFileTApplication ('appl') を設定します。アプリケーションに関連付けられるそれぞれのデータベースには、データベースタイプとしてその他の値を設定します(全ての文字が小文字でなければ自由です。そのような値はPalm によって予約されています)。'appl' (アプリケーション) や 'libr' (ライブラリ)といった特定の設定済みタイプは、Palm OS にとって特別な意味があります。例えば、ランチャはどのデータベースがアプリケーションかを判別するためにデータベースタイプを参照します。
データベースタイプとクリエータIDは大文字小文字を区別し、(10進数で)32〜126 の範囲の ASCII キャラクタ 4 文字で構成されます。全て小文字からなるクリエータIDとタイプは Palm 社が使用するために予約されています。そのため、タイプとクリエータIDを割り当てる際には、少なくとも1文字の大文字、数字、または記号が含まれている必要があります。アプリケーションが他と競合するのを防ぐためには、登録済みIDのデータベースを管理しているPalm 社にクリエータIDを登録する必要があります。クリエータIDを選んで登録するには、以下のウェブページを参照して下さい。
http://www.palmos.com/dev/creatorid/
データベースタイプに関しては、クリエータIDのような登録の必要がないことに注意してください。クリエータIDはデータベースタイプのための新しい名前空間を定義しますから、データベースタイプが同じ 'Data' だったとしても、クリエータIDが異なっていれば2つのデータベースにはなんの関係もありません。
- IMPORTANT
- 同じクリエータIDを持つアプリケーションはハンドヘルド内に共存できません。インストールの際、新しいアプリケーションは同じクリエータIDを持つ既存のアプリケーションを上書きしてしまいます。さらに、新しいアプリケーションは元からあったアプリケーションに関連付けられたデータベースを汚損してしまうでしょう。こういった理由から、全てのアプリケーションは一意なクリエータIDを持つ必要があるのです。
最後に、クリエータIDはデータベースを識別するために使われるだけではありません。他のこと──プリファレンスの設定・取得、ノティフィケーションの登録、フィーチャの識別など──にも使われるのです。