2016-07-19 23 views
0

我是新的数据库,并且我想更新我的数据库(MySql,我使用MAMP)从Android手机。
当我在android上使用相同的无线网络时,以下代码正在工作,但当服务器和android手机网络不同时它不工作。
任何人都有什么想法是什么问题?更新数据库失败从Android手机

kHttpClient client = new OkHttpClient(); 
File cacheDirectory = new File(this.getCacheDir(),"http"); 
int cacheSize = 10 * 1024 * 1024; 
Cache cache = new Cache(cacheDirectory, cacheSize); 
client.setCache(cache); 
Request request = new  Request.Builder().url("http://192.168.xxx.yyy:8888/myFirstPHP.php").build(); 

client.newCall(request).enqueue(new Callback() { 
    @Override 
    public void onFailure(Request request, IOException e) { 
     updateTextView1(); 
    } 

    @Override 
    public void onResponse(Response response) throws IOException { 
     if (response.code() >= 200 || response.code() <= 300){ 
      ResponseBody responseBody = response.body(); 
      InputStream inputStream = responseBody.byteStream(); 
      updateTextView(); 
     } 

    } 
}); 

回答

0

192.168.x.x它是一个私人IP,因此它是私人的,不能从您的网络外部访问。

为了从外部访问它,请尝试使用公共IP。
细节:
private ip vs public ip

编辑
端口转发启动:
Setup port forwarding

上面可能不是一般的解决方案,因为有不同的供应商,但它应该给你一个开始。

+0

谢谢,我明白我必须使用公共IP,但我的公共IP在我的Mac上是什么? – rahim

+0

此外,当我将其更改为我的公共IP时,它不再工作。 – rahim

+0

您必须在调制解调器/路由器上设置端口转发,并将外部IP指向您的Macbook。 –