是的,有一个更聪明的方法来做到这一点,但它需要在服务器和客户端的一些工作。这就是它的工作原理:所有数据都应该可以用JSON或XML格式下载(我宁愿选择JSON)。所以,你会在服务器上有这样的东西:http://example.com/resource.json。为了知道是否有新版本的数据,你可以做的是向HTTP响应添加一个头部版本(这样你就不必下载和解析整个资源,以便知道是否有新版本)。
为了让您检查这些标题,你就会有这样的事情:
URLConnection urlConnection = null;
try {
urlConnection = url.openConnection();
urlConnection.connect();
String currentVersionHeader = urlConnection.getHeaderField("your-version-header");
if(currentVersionHeader == null) {
currentVersionHeader = "-1";
}
int version = Long.parseLong(currentVersionHeader);
// then you compare with the old version
if(oldVersion < version){
// download the data
}
} catch (Exception e) {}
下载和解析JSON资源是一些已经被处理,你会发现一堆教程和参考在谷歌和这里。
你没有提供服务器端的细节(是PHP?Java?.NET?),所以我也不会给你详细说明如何实现/添加版本头。我只是根据自己的经验向你解释了做这种事情的最好方法是什么。