我需要我的Android应用程序
每隔X次检查一次服务器并查看是否添加了新内容 - 和 然后使用添加的新数据。
我该怎么做>?
你建议我应该使用哪种服务器? (数据仅以“字符串”格式)
样品会有所帮助!
事先汤姆。答案 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();