コンピューターが接続されているネットワーク上でサーバーを実行しています。仮想デバイスがこれと同じネットワークを使用してサーバーにアクセスできるようにする方法はありますか?仮想デバイスでは、wifiを切り替えることができません(おそらく、wifiがないためです)。私が正しく見える唯一のオプションは次のとおりです。
「ワイヤレスとネットワークの設定」->「モバイルネットワーク」->「アクセスポイント名」。
しかし、これらすべてのフィールドに何を入力すればよいかわかりません。ローカルコンピュータのインターネットを使用するために必要なすべてのフィールドの例を誰かが持っているなら、私はそれをいただければ幸いです。
仮想デバイスは私のDroidX(API 2.2)をエミュレートしています。サーバーとの通信方法についての回答を探しているのではなく、ネットに接続して、接続していることを確認するための簡単なテストを探しています(現在、ConnectivityManagerを使用して確認しています)
https://developer.Android.com/studio/run/emulator-networking.html
そこに記載されているように:
「エミュレーターの各インスタンスは、仮想ルーター/ファイアウォールサービスの背後で実行され、開発マシンのネットワークインターフェイスと設定、およびインターネットから分離されます。エミュレートされたデバイスは、開発マシンやネットワーク上の他のエミュレーターインスタンスを認識できません。イーサネット経由でルーター/ファイアウォールに接続されていることだけがわかります。」
したがって、(ローカルネットワークIPではなく)サーバーのパブリックIPを使用する必要があります。
あなたはそんなに多くのことをする必要はありません。
これを実現するには、マシンのIPを使用するだけです。
マシン(サーバー)のIPが192.168.1.1
であるとします。
次に、アプリケーションからhttp://192.168.1.1/your_appliction/webpage
を使用します。
http://localhost/
にアクセスしたい場合は、http://10.0.2.2/
を使用してください
Wi-Fiを有効/切り替えるには、Dev Tools
オプションを選択する必要があります。それで十分です。