2010年3月12日金曜日

BlackBerry OS 上でのアプリ開発の基礎 - BB API 編

 BlackBerry のアプリケーション開発では、RIM が用意しているAPI (以下、BB API と勝手に呼ぶことにします)と、J2ME の API を組み合わせて使用します。 BB API は、端末固有の機能にアクセスするために用意されているものとの認識で良いかと思います。例えば、HTTPの通信などは一般的な J2ME にも用意されているので、RIM の API は使用しません。一方、アドレス帳やカレンダー、メールなどはJ2MEの API だけでは BB の固有の機能をカバーできません。そこで BB API を組み合わせて使用することになります。
 この BB API を理解すると、BB 端末というか BB OS ( BlackBerry Device Software )の仕様が少しわかってきます。
 API のリファレンスは以下の通り。

* Bold 9000 ( OS 4.6 )
http://www.blackberry.com/developers/docs/4.6.0api/index.html

* Bold 9700 ( OS 5.0 )
http://www.blackberry.com/developers/docs/5.0.0api/index.html
 注意: 2010/03/12 時点では Beta

 シンプルなものからはじめて、少しずつ拡張していくと、何となく標準のアプリがこんなことしているのだろうとか、サードパーティのアプリケーションがこんなことしているんだな、ということが想像できます。端末のメールアプリケーションが管理しているフォルダ構造などもかなり理解できます。
 最も、予想が合っているかどうかはコードを見ないとわからないですが・・・。

 なお、この BB API ですが、 OS に搭載されている API の一部が開発者向けに公開されているようです。よって、端末の機能を100%利用できるものではないです。
 例えば、端末をリセット API は無かったりしますが、実際には alt + 文字 + del キー(英語入力モード時)にリセットができたりするので、端末側には API がある、と判断できます。
 QuickPull というサードパーティの製品があり、これはアプリがリセットを行いますが、こういうのは裏技扱いです。以前、QuickPull の資料を見た際、バッテリーが抜かれたときのイベントを見つけ出し、それをアプリから発行しているようなことが書いてありました。

 制限しているのは、 BB がセキュリティを重視(企業向けには絶対に必要な制限)して開発されているからで、市場の動向とか、開発者の要求などを検討して、なおかつ開放しても大丈夫、という判断がされたら公式な API として公開されていくようです。まあ、同じ OS に対して後から公開されることはないみたいなので、実質的には OS のバージョンアップに合わせて API を用意するタイミングで反映しているようです。

0 コメント:

コメントを投稿