2014-11-03 90 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.**