Chapter 7 カメラ機能とBluetooth通信[写真交換アプリ] 7-1 アプリケーションの機能概要 図7.1.2 画像送信画面(送信前) 7 - 1 アプリケーションの機能概要 0 送信先選択ボタン 本章で作成するサンプルアプリは、 「写真交換アプリ」です。ここではまずそのアプリの概 1 要について解説します。 ギャラリーボタン なお、Bluetooth通信処理はエミュレータでは動作しないため、実機にインストールし 2 カメラボタン て動作確認する必要があります。また、画像の送受信をするために実機は、2つ必要となり ます。2つの実機それぞれにインストールして、画像の送受信を行います。 回転ボタン 3 4 送信ボタン クリアボタン 図7.1.1 トップ画面 5 ❶ 6 7 8 9 10 ❷ ・Bluetoothが有効に設定されていない場合、許可を確認するメッセー ジを表示します (❶)。 ・「画像を送信」ボタンで画像送信画面に遷移します (❷)。 ・「画像を受信」 ボタンで画像受信画面に遷移します (❷)。 200 Chapter 7 ❶ ❷ ❸ 次に画像送信画面を見てみましょう。各種ボタンの機能は次 の通りです。 ・ 「送信先選択」 ボタンで送信デバイス選択画面を表示します。 ・ 「ギャラリー」 ボタンでギャラリーアプリが起動し、送る画像を選 択します。 ・ 「カメラ」ボタンで写真を撮影するためのカメラ画面が表示され ます。 ・ 「回転」 ボタンで画像を90度ずつ回転します (❷→❸) 。 ・ 「クリア」 ボタンで送信先、画像の設定をクリア (消去) にします。 ・ 「送信」 ボタンで、選択した送信先に選択した画像を送信します。 2 01 Chapter 7 カメラ機能とBluetooth通信[写真交換アプリ] 図7.1.3 送信デバイス選択画面 7-1 アプリケーションの機能概要 図7.1.4 ギャラリー画面 図7.1.5 カメラ画面 「カメラ」ボタンを押すとカメラのプレビュー 画面が表示されます。プレビュー画面をタッチ すると写真が撮影されます。撮影すると自動的 に画像送信画面に戻ります。 0 1 2 3 図7.1.6 画像送信画面(送信開始~送信完了) ❶ ❷ 「ギャラリー」ボタンを押すと 図7.1.4のような「アルバムの選 択」画面が表示されます。任意 のアルバムから画像を選択す ると、自動的に画像送信画面 に戻ります。 ❷ ❸ ❹ 5 6 7 8 9 10 ❹ それでは送信デバイス選択画面について見てみましょう。 ・既にペアリングされているデバイスがあれば一覧に表示されます。 ・ 「デバイス検 索」ボタンで近くにあるデバイスを検出します (❷) 。この時検索されるデバイスは、Bluetooth機能がオンに なっていないと検索されません。 ・検出されたデバイスを一覧に追加します(❸)。 ・一覧の中のデバイスがタッチされると、画像送信画面の送信 先表示欄に選択したデバイスを表示します(❹)。 202 4 Chapter 7 ❸ ❶ ・画像送信画面 (図7.1.2) で 「送信」ボタ ンを押すと、❶のように画像送信中の 進捗ダイアログを表示します。 ・しばらく待って、画面最上部のバーを下 にドラッグして、 「 ペア設定リクエスト」 を 選択します (❷) 。 ・❸のペア設定リクエストのダイアログが 表示されるので、 「ペア設定する」 を選択 します。 (機種によっては、ペア設定リク エストのダイアログが自動的に表示され ます。) ・ペアリングが完了すると、送信を開始し ます。 ・送信が完了すると、送信完了のメッセー ジを表示します (❹) 。 203 Chapter 7 カメラ機能とBluetooth通信[写真交換アプリ] 7-1 アプリケーションの機能概要 図7.1.7 画像受信画面 ▶プロジェクト構成 PictureJumpSample(プロジェクト) src(ソースフォルダ) 0 jp.co.techfun.picturejump(パッケージ) AppUtil.java(ユーティリティクラス:画像一時保存、画像削除、 画像リサイズ、画像回転、トーストメッセージ表示) 1 CameraActivity.java(カメラ画面アクティビティ) 2 DeviceSelectActivity.java(送信デバイス選択画面アクティビティ) 3 PictureJumpActivity.java(トップ画面アクティビティ) PictureReceiveActivity.java(画像受信画面アクティビティ) 4 PictureSendActivity.java(画像送信画面アクティビティ) ❶ ❷ ❸ jp.co.techfun.picturejump.bluetooth(パッケージ) 5 BluetoothConstants.java(Bluetooth 接続用定数定義クラス) BluetoothDeviceAdapter.java(検出デバイス一覧表示用クラス) BluetoothDeviceDescoveryReceiver.java(デバイス検索通知を受けるブロードキャストレシーバー) PictureReceiveJob.java(画像受信処理クラス) 6 7 PictureSendJob.java(画像送信処理クラス) res(リソースフォルダ) 8 drawable(画像格納用フォルダ) border.xml(テキストボーダーライン定義ファイル) 9 icon.png(アイコン画像) ❼ 204 ❺ ❻ 次に受信側のデバイスでの動作について解説します。ま ず、画面にデバイス検出許可を確認するメッセージが表示 されます(❶) 「 。はい」ボタンを押すと、画像受信待機中の ダイアログが表示されます(❷)。しばらく待って、画面最 上部のバーを下にドラッグして、 「ペア設定リクエスト」を選 択します。ペア設定リクエストのダイアログが出てくるの で、 「ペア設定する」を選択します。 (機種によっては、ペア設 定リクエストのダイアログが自動的に表示されます。)ペア リングが確立すると、データの受信が始まり(❺)、受信完 了後画像を表示します(❻)。❻の画面で「保存」ボタンが 押されると、画像をSDカードに保存し、保存メッセージを 表示します(❼)。 「再受信」ボタンを押すとキャッシュに残っていた受信画 像のデータはクリアされ、受信を再開します。 layout(レイアウト定義ファイル格納用フォルダ) 10 device_item.xml(デバイス 1 件表示用レイアウト定義ファイル) Chapter 7 ❹ device_select.xml(送信デバイス選択画面レイアウト定義ファイル) picture_jump.xml(トップ画面レイアウト定義ファイル) picture_receive.xml(画像受信画面レイアウト定義ファイル) picture_send.xml(画像送信画面レイアウト定義ファイル) values(文字列定義ファイル格納用フォルダ) strings.xml(文字列定義ファイル) 205
© Copyright 2024 Paperzz