私のアプリケーションでは、私はローカルサーバ上でホストされているAPIを使用しており、ネットワーク上でアクセスすることができます。エミュレータでは、適切なネットワークに接続されているため、正常に動作します。私は自分の携帯電話でアプリを使用しているときはそれはありません。Androidの電話をローカルホストに接続
通常のインターネット接続を使用してローカルAPIに電話でアクセスすることはできますか?
APIにアクセスするために、以下のhttpコードを使用しています。
public String getResponse(String url, int method, String postParameter) {
HttpResponse response = null;
// Creating HTTP client
HttpClient httpClient = new DefaultHttpClient();
// Creating HTTP Post
HttpPost httpPost = new HttpPost(url);
// Building post parameters
// key and value pair
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("jObj", postParameter));
// Url Encoding the POST parameters
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
}
// Making HTTP Request
try {
response = httpClient.execute(httpPost);
// writing response to log
Log.d("Http Response:", response.toString());
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
} catch (Exception e2) {
e2.printStackTrace();
}
return response.toString();
}
通常のインターネット経由でアクセスするための設定はありますか?アドバンス
localhostを使用する代わりに、http:// localhost:8080/exampleの代わりにhttp://192.168.1.1:8080/exampleなど、urlでシステムのIPアドレスを使用します。 (192.168.1.1はデモIPアドレスです) –
はい私はそうした方法でしか使用していません。例えば - http://10.74.161.243:8080/xyz ..私のマシンではなく、APIは他のホストでホストされています。どのように私はボーダフォンインターネットのような私の電話のインターネットを通じてこれらのAPIにアクセスできます –
両方のデバイスが同じネットワークに接続されていますか?私はあなたがコンピュータとデバイスの両方を同じルータに接続しているということですか? –