2016-07-19 25 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。 –