メモ書き

自分が後で見直すためにつけている作業のメモ書きです.それ以上の意味はありません

Nexus 7 で Android SDK の BluetoothChat サンプルを試す

AndroidBluetooth (特にシリアルのプロファイル)を扱うプログラムのサンプルが無いか調べていたところ,BluetoothChatというAndroid SDKのサンプルを使った例が多く見られたので,それを使って見ることにした.

手順

(注)以下,Bluetooth機器のペアリング手順は省略.当然行なっているものという前提で説明する.

  • Android SDK Manager を使って Samples for SDK をインストールする.
  • サンプルをテンプレートとするプロジェクトを新規作成する.
    • メニューで ”File --> New --> Other”を選択する
    • "Select a wizard" というダイアログで,”Android --> Android Sample Project” を選択して Next
    • "Select build Target" はそのまま Next
    • "Select Sample" ダイアログで BluetoothChat を選んで Finish

以上で,既存サンプルをテンプレートにしたプロジェクトが新規作成された.
動作確認にはこれをコンパイルして実機に転送すればOK.

...のはずであるが,私の手元の Nexus 7 では実行するなり強制終了してしまうため,いくつかの変更を行った.

  • BluetoothChatService.java のUUID定義変更.
// Unique UUID for this application
    private static final UUID MY_UUID_SECURE =
        UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
  • BluetoothChat.java の変更

発生する例外をチェックしたところ,ActionBar周辺の挙動がおかしいらしい.とりあえずコメントアウト.

    private final void setStatus(int resId) {
        final ActionBar actionBar = getActionBar();
//        actionBar.setSubtitle(resId);
    }

    private final void setStatus(CharSequence subTitle) {
        final ActionBar actionBar = getActionBar();
//        actionBar.setSubtitle(subTitle);
    }

もちろん,動作確認のための一時的な処理なので,なんらかの対策が必要ではある.

ここまで変更して Nexus 7 に転送したところ,PCとの間でデータの送受信を確認することができた.