AndroidデバイスからWiFi経由で、ブラウザーまたはcurlを使用してラップトップからアクセスできるローカルWebサーバーにアクセスしようとしています。 Androidデバイスブラウザーでサーバーにアクセスすることもできます。
サーバーにアクセスするために使用しているコードは、"connection refused"例外を生成します。
これはコードです:
public void getController1() {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://192.168.1.169:8000");
HttpResponse response = null;
System.out.println(httpget.toString());
try {
response= httpclient.execute(httpget);
txtViewStatus.setText("Controller 1 - OK"+response);
} catch(Exception e) {
e.printStackTrace();
txtViewStatus.setText("Controller 1 - Error"+e);
}
}
問題が解決しました。問題はマニフェストファイルの破損でした。許可行を削除して再入力しましたが、問題はなくなりました
許可がありませんでした。マニフェストファイルを確認する必要があります
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission Android:name="Android.permission.INTERNET"></uses-permission>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission Android:name="Android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission Android:name="Android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
インターネット接続の強度を確認してください。
私の場合、ネットワーク接続が低いため、このエラーがスローされます。
これをマニフェストファイルに貼り付けます。
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
プロキシを使用しているからでしょうか?プロキシの問題は Android HttpClientはシステムプロキシ設定を使用しない で説明されています(CommonsWareによる回答を参照)。
Android deviceでPCスイートを有効にする必要があります。
1: set http url in Android app e.g ("http://192.168.1.100:81/api/droid/getdata")
laptop or pc wifi ip is (192.168.1.100)
2: connect Android device to pc or laptop in usb port
3: goto this setting in Android device setting -> more -> Tethering and portable hotspot -> pc suite(HiSuite)
4: run Android app
この仕事はいい