2015-04-04 274 views
0

我使用“xampp”构建一个web服务器,并在C:\ xampp \ htdocs上创建“abc.php”。Android无法连接网络服务器

完成所有工作后,我链接“localhost/abc.php”。

使用PC谷歌来窜改URL可以显示“这是服务器的消息”。

到目前为止是好的。直到我想android连接网络服务器。

我尝试了很多方法(包括关闭防火墙或防病毒等),但仍然失败。

我试过谷歌(android手机)连接“http://MyIP/abc.php”,不通过这个程序。

结果是可以在谷歌(Android手机)中显示我的“abc.php”。

但我不知道哪里错误。 我不能用我的程序获取URL

package com.testdb; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    private TextView textView; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     textView = (TextView)findViewById(R.id.textView1); 
     db message = new db(); 
     String msg = message.stringQuery("http://10.0.2.2/abc.php"); 
     textView.setText("Server message is "+msg); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

} 

-

package com.testdb; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.util.EntityUtils; 

public class db { 

    public String stringQuery(String url){ 
     try 
     { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost method = new HttpPost(url); 
      HttpResponse response = httpclient.execute(method); 
      HttpEntity entity = response.getEntity(); 
      if(entity != null){ 
       return EntityUtils.toString(entity); 
      } 
      else{ 
       return "No string."; 
      } 
     } 
     catch(Exception e){ 
      return "Network problem"; 
     } 
    } 
} 

,这是我的日志

04-04 16:30:07.425: W/Trace(1183): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:16.906: E/Trace(1301): error opening trace file: No such file or directory (2) 
04-04 16:30:16.906: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:16.916: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:16.916: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.006: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.006: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.796: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.796: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.816: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:17.836: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.046: D/libEGL(1301): loaded /system/lib/egl/libEGL_emulation.so 
04-04 16:30:18.066: D/(1301): HostConnection::get() New Host Connection established 0x2a0ac400, tid 1301 
04-04 16:30:18.106: D/libEGL(1301): loaded /system/lib/egl/libGLESv1_CM_emulation.so 
04-04 16:30:18.126: D/libEGL(1301): loaded /system/lib/egl/libGLESv2_emulation.so 
04-04 16:30:18.289: W/EGL_emulation(1301): eglSurfaceAttrib not implemented 
04-04 16:30:18.309: D/OpenGLRenderer(1301): Enabling debug mode 0 
04-04 16:30:18.309: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.316: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.316: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.376: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.386: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.386: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.386: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.386: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.386: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.396: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.486: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.496: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.496: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.496: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.689: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.716: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
04-04 16:30:18.786: W/Trace(1301): Unexpected value from nativeGetEnabledTags: 0 
+0

您的Android手机是否连接到了您的WiFi网络,或者您是否尝试通过蜂窝连接连接到该网址? – yole 2015-04-04 17:49:00

+0

我想通过蜂窝连接连接到该URL,而不是连接WIFI网络工作 – 2015-04-04 18:46:27

+0

不建议用简单的第一个字母创建类名。 – 2015-04-04 18:55:49

回答

0

10.0.2.2是本地网络上的IP地址。它无法从互联网访问,因此具有蜂窝连接的Android手机无法连接到它。您需要在公共托管服务上运行Web应用程序,而不是在本地计算机上运行。

+0

是的,我知道。实际上我使用固定IP连接。 – 2015-04-04 19:10:53

+0

如果您的本地机器具有固定的外部IP地址,则需要在Android应用程序中使用该地址。 10.0.2.2不是外部IP地址。 – yole 2015-04-04 19:12:09

+0

我确定我的固定IP是一个有效的,因为我试过其他机器连接到。实际上我总是连接到“MyFixedIP/abc.php”电话 – 2015-04-04 19:14:32