14

Androidデバイスに組み込まれているWi-Fiホットスポットを使用してローカルネットワーク接続を開始したい。それを達成する方法はありますか?そして、2つのデバイス間で通信する方法は?

編集:私はそれをプログラムでやりたいです。次に、デバイス間で自分のデータを転送できます。

4

5 に答える 5

7

私はこれまでこれを行ったことがないので、私の答えはすべて理論的です。

あなたがする必要があるのは、1つのデバイスをサーバーとして宣言し、そのホットスポットを既知の名前で手動で起動することだと思います。

コードから組み込みのWi-Fi/USBテザリングを開始/停止しますか?(この質問によると、プログラムでホットスポットを開始することはできません)。

ホットスポットを設定したら、サーバーアプリを起動し、着信接続を待ちます。サーバーアプリは、IPアドレスまたはホスト名を表示できます。

クライアントでは、簡単なチェックを実行して、ホットスポット名が存在するかどうかを確認し、見つかった場合は自動的に接続できます。ネットワークへの接続については、次のリンクを参照してください。

WifiManagerを使用してネットワークに接続する

2番目の質問として、通信方法については、デバイス間の接続を確立する必要があります。このためには、サーバーのIPアドレスが必要です。最も簡単な方法は、サーバーUIにIPアドレスを表示してから、クライアントに手動で入力して[接続]を押すことです。次に、既知のポートでサーバーへの接続を確立し、クライアントとサーバー間でメッセージを送信できます。

参考までに、Android用のWebサーバーであるNanoHttpdを見つけました。ServerSocketを使用して着信接続をリッスンします。

于 2011-11-28T08:25:10.343 に答える
4

考えられる答え:

ICSおよびルート化されていないデバイスの前

Wi-Fi経由でデバイスに接続する方法はありません。実行するAPIはありません。Bluetoothは、最良のオプションまたはユーザーインタラクションです。

ICSおよびルート化されたデバイスの前

誰かがコードをハッキングしたかどうかはわかりませんが、wifiスポットへの自動接続を試みたときに気づきました:

  • APIはSDK内に隠されています。
  • 接続を行うメソッドは、接続を要求するスレッドをチェックします。osスレッドでない場合は、例外がスローされます。

ICSの使用

ICSには、 Wi- FiDirectと呼ばれるwifi経由でデバイスを接続する新しい方法があります。ここにいくつかのデモへのリンクがあります。

于 2011-11-30T12:29:41.507 に答える
0

個々の端末(デバイス)ごとに独自のアプリケーションを開発する場合は、ソケットプログラミングでうまくいくと思います。

はい、androidはjavaソケットプログラミングと同じようにソケットプログラミングをサポートしています。

最初のグーグルJavaソケットプログラミングチュートリアルそしてあなたはアンドロイドで同じ知識を使うことができます。

また、マニフェストにインターネット許可の使用を含めることを忘れないでください。実際、それは私の脳を長い間食べていたものです:)

于 2011-12-01T17:15:34.240 に答える
0

p2pのようなサーバーなしでwifi対応デバイス間の通信を意味しますか?もしそうなら、ICSでサポートされているそのwifiダイレクトはこれをチェックしてくださいhttp://developer.android.com/reference/android/net/wifi/p2p/package-summary.html

ICS以前はwifidirect用の標準のAndroidAPIはありませんが、Galaxy S2にはwifidirectがあり、サードパーティの開発者が使用できない独自のAPIを使用しています。

于 2011-12-02T12:06:25.790 に答える
0

プログラムでwifyLANを作成するかどうかはわかりませんが、wify LANを手動で作成してから、brianesteyが言ったようにjava tcp/udpプログラムを実行できます。

「2番目の質問については、通信方法-デバイス間の接続を確立する必要があります。このためには、サーバーのIPアドレスが必要です。最も簡単な方法は、サーバーのUIにIPアドレスを表示することです。次に、クライアントに手動で入力して[接続]を押します。これにより、既知のポートでサーバーへの接続が確立され、クライアントとサーバー間でメッセージを送信できます。」

手動接続の場合は、次の手順に従います

  • いずれかの電話から設定/ワイヤレス&ネットワーク/ポータブルWi-Fiホットスポット設定を取得します

  • 新しいホットスポットを作成し、そこからWi-Fiポータブルホットスポットをオンにします

  • PCを含む他のすべてのデバイスをそのホットスポットに接続します

  • プログラムで各デバイスのIPを取得します(PCを含むが、わかりません)

于 2012-03-12T18:30:41.933 に答える