Да, есть более разумный способ сделать это, хотя это потребует некоторой работы как на стороне сервера, так и на стороне клиента.Вот как это работает: все данные должны быть доступны для загрузки в формате 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-ресурса - это то, что уже было обработано, и вы найдете множество учебных пособий и ссылок в Google и здесь.
Вы не предоставляете подробности о стороне сервера (PHP? Java?.NET?), Поэтому я также не буду давать вам подробности о том, как реализовать / добавить заголовок версии.Я только что объяснил вам, как лучше всего делать подобные вещи, основываясь на моем собственном опыте.