每隔X次检查一次服务器,看看是否添加了新的东西

时间:2012-10-05 15:08:59

标签: android webserver

我需要我的Android应用程序

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

我该怎么做>?

你建议我应该使用哪种服务器? (数据仅以“字符串”格式)

样品会有所帮助!

事先汤姆。

3 个答案:

答案 0 :(得分:0)

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

如果数据只是String,那么将它放在HTML网页甚至是txt文件中都可以。每次你想查询,阅读该HTML页面或下载该txt文件。

在任何类型的操作系统上,Apache都相当不错。我建议你从那里开始。

无论如何,如果X是一个非常小的数字,我会建议你重新考虑一下你的方法。如果是一两天,你会没事的。

答案 1 :(得分:0)

如果你有自己的服务器,只需使用GCM并向手机发送信息,告诉它有新的东西。那么它可以得到它。这将减少电池和数据流量。

答案 2 :(得分:0)

我同意Shane Hsu,最好使用Google推送服务(GCM)(http://developer.android.com/guide/google/gcm/index.html)。如果这是一个矫枉过正,那就做一个http请求:

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;
}

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

new Thread(){
  public void run() {
    loadData("your url"); // save the result in some instance variable
  }
}.start();