2016-04-01 17 views
0

私のアプリケーションでは、私はローカルサーバ上でホストされている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(); 
} 

通常のインターネット経由でアクセスするための設定はありますか?アドバンス

+0

localhostを使用する代わりに、http:// localhost:8080/exampleの代わりにhttp://192.168.1.1:8080/exampleなど、urlでシステムのIPアドレスを使用します。 (192.168.1.1はデモIPアドレスです) –

+0

はい私はそうした方法でしか使用していません。例えば ​​- http://10.74.161.243:8080/xyz ..私のマシンではなく、APIは他のホストでホストされています。どのように私はボーダフォンインターネットのような私の電話のインターネットを通じてこれらのAPIにアクセスできます –

+0

両方のデバイスが同じネットワークに接続されていますか?私はあなたがコンピュータとデバイスの両方を同じルータに接続しているということですか? –

答えて

0

おかげでは、APIのは、IPCONFIGを使用して ホストされ、あなたのURLは、モデムによって割り当てられ192.168.0.102のようにする必要があり、URL にIPアドレスを渡しているローカルマシンのIPアドレスを検索します。

+0

はい私はその方法でのみ使用しています。例えば ​​- 10.74.161.243:8080/xyz ..私のマシンではなく、APIは他のホストでホストされています。どのように私はボーダフォンインターネットのような私の電話のインターネットを通じてこれらのAPIにアクセスできます –

+0

はい、あなたはまた、モバイルデータに接続されているときに同時にローカルサーバーにも接続することができます。ホットスポットをオンにして、モバイルWi-Fiホットスポットとローカルサーバーを接続します。 localhostとlocal ipの両方でapiを使用してみてください。 –

0

あなたの電話がネットワークに接続されており、ネットワーク外のモバイルデータやその他のWIFIネットワークを使用していないことを確認してください。

+0

自分のデータに接続していません。それは私のボーダフォンのインターネットに接続されている場合は、ローカルサーバーに接続することが可能です。私はそのことを確認することを求めていないと思う –

1

ローカルマシンでホストされている場合は、電話機とローカルマシンを同じネットワーク(通常はWifi)に接続する方法を見つける必要があります。これを簡単に回避するには、あなたのアンドロイドデバイスにホットスポットを作成し、それにローカルマシンを接続することです。アンドロイドアプリで正しいIPアドレスを設定してください。

関連する問題