2014-02-13 30 views
4

我想发现deployd,并且我已经创建了一个简单的数据存储表。该表存储在如何检索deployd中的数据以便在android应用程序中使用?

http://localhost:2403/table 

作为JSONArray。我可以用下面的代码得到数据:

private static String readAll(Reader rd) throws IOException { 
    StringBuilder sb = new StringBuilder(); 
    int cp; 
    while ((cp = rd.read()) != -1) { 
     sb.append((char) cp); 
    } 
    return sb.toString(); 
    } 

    public static JSONArray readJsonFromUrl(String url) throws IOException, JSONException { 
    InputStream is = new URL(url).openStream(); 
    try { 
     BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); 
     String jsonText = readAll(rd); 
     JSONArray json = new JSONArray(jsonText); 
     return json; 
    } finally { 
     is.close(); 
    } 
    } 

public static void main(String[] args) throws IOException, JSONException { 
    JSONArray obj = readJsonFromUrl("http://localhost:2403/table");  

} 

我的问题是,这个数据存储在本地主机。比方说,我想在我的android应用程序中使用这个数据库。那么显然我不能使用

JSONArray obj = readJsonFromUrl("http://localhost:2403/table") 

得到json数组。那么,我怎么能得到它?我看了看文档,找不到任何东西。我应该用什么链接代替本地主机:2403/table?

感谢

回答

2

当你开发,你可以在其中运行Deployd喜欢使用的机器的IP:
http://192.168.0.42:2403/table (192.168.0.42必须通过本地计算机的IP地址替换)。

如果你想在现实世界中使用你的后端,你必须在某个地方部署它。例如,Heroku是
。这里有一些代码要做到这一点:
https://gist.github.com/facultymatt/5373247

+0

我可以访问数据使用http://192.168.2.5:2403/my-objects然而,只有当我们连接到相同的WiFi。是否有任何原因,我无法从外部网络(我的手机使用移动数据)连接? – Amir

相关问题