0

我需要我的安卓应用

每 X 次检查一次服务器,看看是否添加了新内容 - 然后使用添加的新数据。

我到底是怎么做到的>?

你建议我应该使用什么样的服务器?(数据仅是“字符串”格式)

样品会有帮助!

提前谢谢汤姆。

4

3 回答 3

0

如果您有自己的服务器,只需使用 GCM 并向手机推送一条消息,告诉它有新内容。然后它可以去得到它。这将使用更少的电池和数据流量。

于 2012-10-05T15:28:43.690 回答
0

我同意 Shane Hsu 的观点,最好使用 Google 的推送服务 (GCM) ( http://developer.android.com/guide/google/gcm/index.html )。如果这是一个过大的杀伤力,只需执行一个 http-request:

private void loadData(String url){
    String result = "";

    try {
        URL url = new URL(url);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();

        conn.setDoOutput(true);

        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();

            BufferedReader inStream = new BufferedReader(new InputStreamReader((conn.getInputStream())));

            String str = "";
            if((str = inStream.readLine()) != null){
                    result = str;
            }


            inStream.close();
    } catch (MalformedURLException e) {
            e.printStackTrace();
    } catch (IOException e) {
            result = "";
    }

    return result;
}

因为这个任务需要很长时间才能执行,你应该把它放在一个线程中。像这样称呼它:

new Thread(){
  public void run() {
    loadData("your url"); // save the result in some instance variable
  }
}.start();
于 2012-10-05T15:31:12.373 回答
0

就个人而言,我认为这不会有效。考虑到您拥有的用户越多,它就会疯狂地查询您的服务器。

如果数据只是字符串,则将其放入 HTML 网页甚至 txt 文件中即可。每次您想查询时,请阅读该 HTML 页面或下载该 txt 文件。

在任何类型的操作系统上,Apache 都非常好。我建议你从那里开始。

无论如何,如果 X 是一个非常小的数字,比如每 5 秒,我会建议你重新考虑你的方法。如果是一两天就好了。

于 2012-10-05T15:13:34.877 回答