我目前正在开发的 Android 应用程序遇到了一个小问题。 我有一份在 XML 文件中声明的兴趣点列表。兴趣点看起来像这样:
<hotel>
<name>Hotel Atlas</name>
<latitude>45.612079</latitude>
<longitude>25.660756</longitude>
<thumb_url>/hotels/atlas.jpg</thumb_url>
<phone>039999999</phone>
</hotel>
我遇到的问题是大约有 200 个兴趣点,每次用户访问该应用程序时,每次都会从在线位置读取 XML,这意味着大量的互联网流量。 XML 在线存储,因此每次我想添加另一个 POI 时我都可以更新它,而不是强制用户更新应用程序。有没有办法将这些数据发送到应用程序而不需要下载整个 XML?
我还没有找到最佳解决方案,因此决定征求一些意见。
谢谢,弗拉德
最佳答案
只有两种可能的方式:
- 要么提供包含所有 POI 的静态数据库,要么
- 在需要时从网络加载数据。
现在你可以做一件事,用App保持静态数据库。应用程序启动后进行网络调用,如果您在服务器数据库中进行了任何更改,则检查更新的数据。如果服务器数据库有任何变化,则只将那些数据更新到本地(静态)数据库。
要执行上述步骤,您必须将上次更新日期 传递给服务器/从服务器传递。我的意思是无论何时进行网络调用,都需要从客户端传递上次更新日期,服务器将检查此日期后要更新的新数据。服务器将存储客户端日期作为更新日期并返回给客户端。
关于java - 旅游应用获取数据的好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234385/