サンプルコード WiFiDirectDemo


WiFiDirectDemo – Wi-Fi Direct Demo の日本語訳
これは Wi-Fi Direct API を利用して、ピアツーピアのネットワーク接続を作る方法を示すデモアプリケーションです。
このアプリケーションは、接続完了した後に、ギャラリーからjpeg画像を転送することができます。
このデモアプリケーションのソースコードは、Wi-Fi Direct API を利用して、3つの重要な事柄を達成する方法を示しています。
・接続相手 (peer) を発見する。
・Wi-Fi Direct API を利用して接続する。
・ファイルを転送するためにTCPソケットを開くことができるように、post connection に関するグループの詳細を見つける。

下記のアプリケーションが含まれています。
・WiFiDirectActivity
メインの Activityです。 アプリのUIとピアのライフサイクルを処理する2つのフラグメントが含まれています。 また、Wi-Fi Direct に関連するイベントに対するブロードキャストレシーバを登録します。

・WiFiDirectBroadcastReceiver
BroadcastReceiver です。 Wi-Fi Direct 関連するイベントをリッスンし、WiFiDirectActivity にそれらを渡し、必要なアクションに対する fragments を持つ。

・DeviceListFragment
ListFragment です。 利用可能なピアとそのステータスが表示します。

・DeviceDetailFragment
Fragment です。 選択したデバイスの詳細を表示し、接続、切断、およびデータ転送を駆動します。

・FileTransferService
IntentService です。 TCPソケットを使用して、アプリケーションからファイル転送を実行します。

あなたが Wi-Fi Direct API を使用するアプリケーションを開発している場合、Android 4.0(API 14)以降のバージョンのプラットフォームでのみサポートされていることに注意してください。
アプリケーションが Wi-Fi Direct モードをサポートする機能を持つしているデバイスにのみインストールすることを保証するために、Android マーケットに公開する前に、アプリケーションのマニフェストに次の内容を追加してください。

・<uses-sdk android:minSdkVersion=”14″ />
アプリケーションは Android 4.0 以上が必要である Android マーケットとプラットフォームに示します。
詳細については、API Levels および <uses-sdk> 要素のドキュメントをご覧ください。

Wi-Fi Direct モードをサポートしていない端末に、あなたのアプリケーションをインストールしないように、Android マーケットに通知するのは、アプリケーションのマニフェストに以下を追加してください

・<uses-feature android:name=”android.hardware.wifi.direct” />
あなたのアプリケーションが Wi-Fi Direct API を使用していることを、Androidマーケットに通知します。 Wi-Fi Direct モードをサポートしていない端末に、あなたのアプリケーションをインストールしないように、Android マーケットに通知するのは、宣言に android:required 属性が含まれている必要があります。 他の <uses-feature> 宣言もあなたの実装によっては必要かもしれません。 詳細は、 <uses-feature> 要素のドキュメントを参照してください。

Wi-Fi Direct API の使用方法の詳細については、 android.net.wifi.p2p のドキュメントを参照してください

動作確認
Wifi機能がないエミュレータなので、動作確認はできず。

追記 実機で動作確認しました

ソースコード
5つのファイルがある。

・WiFiDirectActivity
Activity を継承し WifiP2pManager.ChannelListener (API 14) と DeviceListFragment.DeviceActionListener (自作) を実装する。
メインの Activityです。

・WiFiDirectBroadcastReceiver
BroadcastReceiver を継承し WifiP2pDevice (API 14) を使用する。
Wi-Fi Direct 関連するイベントを受取る BroadcastReceiver です。

・DeviceListFragment
ListFragment を継承し WifiP2pManager.PeerListListener (API 14) を実装する
利用可能なピアを表示する ListFragment です。

・DeviceDetailFragment
Fragment を継承し WifiP2pManager.ConnectionInfoListener (API 14) を実装する。
選択したデバイスの詳細を表示するなどの Fragment です。

・FileTransferService
IntentService を継承する。
ファイル転送を実行する IntentService です。

関連記事
サンプルコード ActionBarCompat
サンプルコード AndroidBeamDemo
サンプルコード SampleSpellCheckerService
サンプルコード TtsEngine
サンプルコード VoicemailProviderDemo
・サンプルコード WiFiDirectDemo


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です