2011年5月25日水曜日

Windows Phoneで活用できる機能

スマートフォン固有の機能も活用できるWindows Phone

 開発者としてスマートフォンに対応したアプリを作成する魅力は、スマートフォン独自の機能を利用したり、端末にあらかじめ搭載され、プログラムから利用可能なセンサーを利用したりすることだろう。

ロケーションと加速度センサー

 現在発売中のWindows Phoneには、カメラ、位置情報、加速度センサー、電子コンパス、照度センサーなどのセンサー・デバイスが搭載されている。この中でアプリから利用できるセンサーは、現在のところ位置情報と加速度センサーの2つだ。

 表1はセンサーで計測可能な情報と、利用する場合に用いるクラスの一覧だ。

センサー名 計測対象 クラス Code Recipeサンプル
加速度センサー 端末の向き/重力の方向 Accelerometerクラス(Microsoft.Device.Sernsor名前空間)(アセンブリ:Microsoft.Devices.Sensors.dll) GPSによる位置情報の取得
ロケーション(GPS) 現在位置/住所などの論理位置 GeoCoordinateWatcherクラス(System.Device.Location名前空間)(アセンブリ:System.Device.dll) 加速度センサーの情報を取得する
表1 Windows Phoneアプリから利用できるセンサー

 センサー類は、それ単品では使っても単に数字を取得できるだけだが、アプリやセンサー同士を組み合わせるとさまざまな利用方法が思い浮かぶ。よくある加速度センサーの利用例は、端末の向き(横長/縦長)に応じた表示の切り替えだが、さらにロケーションや地図アプリと組み合わせれば、ウォーキングの履歴管理などにも利用できる。

電話機能へのアクセス

 スマートフォンとはいえ、電話機なのだから、アドレス帳から連絡先を検索したり、実際に電話をかけたり、メールやショート・メッセージを送ったりといった電話機能をアプリから制御したいことは多々あるだろう。現在のところ、Windows Phoneではアプリから直接連絡先データを取得したり、電話をかけたりすることはできないため、Windows Phone OSの機能「Chooser」(=ChooserBaseクラスMicrosoft.Phone.Tasks名前空間)を継承したすべての派生クラス)を通して電話機能を呼び出すことになる。

 例えばMicrosoft.Phone.Task名前空間に含まれるChooserクラスを利用すると、カメラを起動したり(CameraCaptureTaskクラスを利用)、アドレス帳を起動してEmailアドレスを取得したりできる(EmailAddressChooserTaskクラスを利用)。詳しくは、MSDNの「Microsoft.Phone.Tasks名前空間」の項を参照してほしい。

0 件のコメント:

コメントを投稿