2014-11-03 88 views
0

爲localhost通過機器人程序與給本地主機地址一樣連接通過Android模擬器與XAMPP服務器

try { 
     url = "http://10.0.2.2:80/xxx/"; 
     //optionally I tried 
     //url="http://localhost/xxx/"; 
     //url="http://192.168.1.8/xxx/"; 
     //url="http://127.0.0.1/xxx/"; 
     //above all options are not working for me. 
     httpclient = new DefaultHttpClient(); 
     request = new HttpGet(url); 
     response = httpclient.execute(request); 
    } 
try { 
     BufferedReader rd = new BufferedReader(new InputStreamReader(
       response.getEntity().getContent())); 
     String line = ""; 
     while ((line = rd.readLine()) != null) { 

      // Appending result to textview 
      result.append(line); 
     } 

上述所有網址運行PHP腳本未能連我檢查我的防火牆設置,但它不工作連接。 需要幫助我被困在這個線程中。

+0

你有沒有遇到任何錯誤,請發佈logcat? – 2014-11-03 11:14:08

+0

您確定Web服務器託管在端口80上嗎? – silentw 2014-11-03 11:14:50

+0

無論如何,在這裏你有你需要看的文檔:http://developer.android.com/tools/devices/emulator.html#networkaddresses – silentw 2014-11-03 11:15:40

回答

0

從您的android模擬器訪問您的本地主機使用ipconfig中給出的IP地址。

打開命令prompt->鍵入ipconfig->獲取IPv4地址....像192.xx ...

enter image description here

所以你的URL =「HTTP://192.xx。 XX.XX /文件夾/ file.php」

測試此網址與你的Android瀏覽器....如果連那麼就應該在Android應用

+0

我同意這一步以及我遵循你的步驟來運行它,模擬器不顯示結果,但是當我在模擬器瀏覽器地址欄上手動鍵入此地址它顯示我結果,這是我想要的。檢查連接可能是個好主意! – 2014-11-03 11:40:19

+0

@IceBreakerSandy 10.0.2.2也應該這樣做。 – silentw 2014-11-03 11:46:13

+0

@silentw先生它工作時,我手動輸入到模擬器瀏覽器地址欄..但通過程序源代碼它不工作。作爲#Indra說,我遵循同樣的好看見的連接,但我們如何能通過我們的代碼。 – 2014-11-03 12:13:16

0

沒有問題,對於建立一個本地測試環境中,你可以使用localtunnel。此應用程序爲您的本地服務器創建一個全局https服務器。

E.g.

LT --port 8080將爲HTTPS連接:本地主機:8080/

+0

我感謝您的建議,但我認爲需要更多時間來處理它。即使我閱讀了所有的東西,但我似乎並不輕鬆,而且我很害怕做這種事情,因爲如果我在機器上做了一些更改,並且它不能正常工作,該怎麼辦?需要你的支持。感謝您的好研發。 – 2014-11-03 12:21:57

0

最後我努力並獲得成功,在此,我想張貼我的答案與所有​​那些傢伙們完全被卡住等問題。 好的我在這裏使用這個Url模式

try { 
     url = "http://192.xxx.x.x/xxx/index.php"; 
     Log.d("url is ", " "+url); 
     ThreadPolicy tp = ThreadPolicy.LAX; 
     StrictMode.setThreadPolicy(tp); 
     httpclient = new DefaultHttpClient(); 
     request = new HttpGet(url); 
     //Log.d("requested url", " "+request); 
     response = httpclient.execute(request); 
    } 
    // response code 
    try { 
     BufferedReader rd = new BufferedReader(new InputStreamReader(
       response.getEntity().getContent())); 
     String line = ""; 
     while ((line = rd.readLine()) != null) { 

      // Appending result to textview 
      result.append(line); 
     } 
    } 

adding these lines into AndroidManifest.xml 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

     **Happy Coding to all of you.**