私のマシンからアプリケーションにリソースを提供するためにxampp apacheサーバーを使用しています。しかし、上記のエラーが発生します。
グーグルで何かを得た。ここで可能な解決策を指しています http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
上記の問題の解決策は何ですか?
私のマシンからアプリケーションにリソースを提供するためにxampp apacheサーバーを使用しています。しかし、上記のエラーが発生します。
グーグルで何かを得た。ここで可能な解決策を指しています http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
上記の問題の解決策は何ですか?
回答:
指定していないため、デバイスまたはエミュレーターからサーバーに接続しているため、エミュレーターでアプリケーションを使用していると思います。
Androidエミュレータからシステムのローカルホストを参照している場合は、Androidエミュレータhttp://10.0.2.2:8080/が仮想マシンで実行されるため、ここを127.0.0.1使用localhostする必要があります。そうしないと、エミュレータ独自のループバックアドレスになります。
http://localhost:8080/Getdata.phpやhttp://127.0.0.1:8080/Getdata.php、あなたが使用としてそれを変更する必要がありますhttp://10.0.2.2:8080/Getdata.php
10.0.2.2て10.0.3.2いる場合は、に置き換えます。
アンドロイドで
交換: String webServiceUrl = "http://localhost:8080/Service1.asmx"
と: String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"
幸運を!
localhostと127.0.0.1は、どちらも「現在のマシン」を表す方法です。したがって、PCのlocalhostはPCであり、Androidのlocalhostは電話です。お使いの携帯電話はもちろんウェブサーバーを実行していないので、接続を拒否します。
マシンのIPアドレスを取得し(Windowsでipconfigを使用して調べる)、127.0.0.1の代わりにそれを使用する必要があります。ネットワーク/ファイアウォールの設定方法によっては、これでも機能しない場合があります。しかし、それはまったく別のトピックです。
uses-permission android:name = "android.permission.INTERNET
URLでlocalhostを使用し、エミュレータでアプリケーションをテストしている場合は、URLのlocalhostのシステムのIPアドレスを置き換えるか、localhostの代わりに10.0.2.2を使用できます。
http://localhost/webservice.phpからhttp://10.218.28.19/webservice.php
ここで10.218.28.19->システムのIPアドレス。
または
http://localhost/webservice.phpからhttp://10.0.2.2/webservice.php
次のように、ローカルIPアドレスを使用する必要があります。cmdコマンド「ipconfig」とサーバーのポート番号を使用します。
String webServiceUrl = " http://192.168.XX:your_local_server_port / your_web_service_name.php "
プロジェクトマニフェストでインターネットのアクセス許可を設定したことを確認してください
それは私にとって完璧に機能しています
幸運を
解決策は非常に簡単です。
1 Androidmanifest.xmlファイルにインターネット権限を追加します
<uses-permission android:name="android.permission.INTERNET" />
[2] httpd.configファイルを変更する
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
TO
Order Deny,Allow
Allow from all
Allow from 127.0.0.1
And restart your server.
[3]そして最も無力なステップ。 あなたのネットワークをあなたのホームネットワークにしてください
[コントロールパネル]> [ネットワークとインターネット]> [ネットワークと共有センター]に移動します
Click on your Network and select HOME NETWORK