第11章 |
|
Sun JavaTM Wireless Toolkit for CLDC のエミュレータは、JSR 82 「Java APIs for Bluetooth」に対応しています。エミュレータは、転送レジストリとの統合が記述されているバージョン 1.1 の仕様に完全に準拠しています。JSR 82 には、2 つの独立した API が含まれています。
この章では、Bluetooth API と OBEX API が Sun JavaTM Wireless Toolkit for CLDC でどのように実装されるかについて説明します。
Sun JavaTM Wireless Toolkit for CLDC のエミュレータを使用すると、実際の Bluetooth ハードウェアがなくても、Bluetooth を使用するアプリケーションの開発やテストを行うことができます。実行中のエミュレータに対して、ツールキットが Bluetooth 環境をシミュレートします。複数のエミュレータインスタンスは、Bluetooth API を使用して、相互に検出してデータを交換することができます。
実例については、付録 A の BluetoothDemo のマニュアルを参照してください。
Sun JavaTM Wireless Toolkit for CLDC は、シミュレートした Bluetooth 接続や赤外線接続を介した OBEX 転送を実装します。シミュレートされた赤外線接続は、IrDA 標準に準拠しています (http://www.irda.org/ を参照)。実行中の複数のエミュレータ間で、赤外線転送をシミュレートできます。
Sun JavaTM Wireless Toolkit for CLDC では、Bluetooth と OBEX のシミュレーション環境を設定できます。「編集」->「環境設定」を選択し、「Bluetooth/OBEX」を選択して次のウィンドウを表示します。
IrDA を実際に使用するデバイスは、待機することによってほかのデバイスを検出します。Sun JavaTM Wireless Toolkit for CLDC のエミュレータでほかのデバイスを検出するために待機する時間は、環境設定ウィンドウの「IrDA OBEX」セクションの「検出のタイムアウト」フィールドで設定できます。値はミリ秒単位で入力します。
API レベルでは、検出タイムアウトの値により、Connector.open("irdaobex://discover...") の呼び出しがブロックされる時間が決まります。この時間が経過すると、この関数から戻されるか、例外がスローされます。
最大パケット長の設定は、エミュレータ間で送信される各パケット内のデータ量に影響を与えます。パケット長が小さいほど、パケット数が増加し、パケットのオーバーヘッドも増大します。
環境設定ウィンドウの「Bluetooth」セクションの「デバイス検出のタイムアウト」では、シミュレートされた Bluetooth 環境でほかのデバイスを検出するためにエミュレータで待機する時間を、ミリ秒単位で指定します。
「次のエミュレータの Bluetooth アドレス」は、最初のエミュレータインスタンスに割り当てられる Bluetooth アドレスです。以降のエミュレータインスタンスには、自動的にアドレスが割り当てられます。
環境設定の「Bluetooth」セクションの「システムプロパティー」タブには、javax.bluetooth.LocalDevice の getProperty() メソッドを使ってアプリケーションで取得できるプロパティーが含まれています。
Bluetooth のプロパティーについては、JSR 82 仕様で詳しく説明されています。
Bluetooth Control Center (BCC) は、Bluetooth の設定を制御します。デバイスによっては、Bluetooth の設定をカスタマイズするための GUI が用意されていることもあります。Sun JavaTM Wireless Toolkit for CLDC では、Bluetooth 環境設定の「BCC プロパティー」タブを使って BCC を設定します。プロパティーは次のとおりです。
Copyright© 2007, Sun Microsystems, Inc. All rights reserved.