我需要我的安卓应用
每 X 次检查一次服务器,看看是否添加了新内容 - 然后使用添加的新数据。
我到底是怎么做到的>?
你建议我应该使用什么样的服务器?(数据仅是“字符串”格式)
样品会有帮助!
提前谢谢汤姆。
如果您有自己的服务器,只需使用 GCM 并向手机推送一条消息,告诉它有新内容。然后它可以去得到它。这将使用更少的电池和数据流量。
我同意 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();
就个人而言,我认为这不会有效。考虑到您拥有的用户越多,它就会疯狂地查询您的服务器。
如果数据只是字符串,则将其放入 HTML 网页甚至 txt 文件中即可。每次您想查询时,请阅读该 HTML 页面或下载该 txt 文件。
在任何类型的操作系统上,Apache 都非常好。我建议你从那里开始。
无论如何,如果 X 是一个非常小的数字,比如每 5 秒,我会建议你重新考虑你的方法。如果是一两天就好了。