Java 获取旅行申请数据的好方法是什么

Java 获取旅行申请数据的好方法是什么,java,android,xml,database,location,Java,Android,Xml,Database,Location,我目前正在开发的安卓应用程序遇到了一个小问题。 我有一个XML文件中声明的兴趣点列表。POI的外观如下所示: <hotel> <name>Hotel Atlas</name> <latitude>45.612079</latitude> <longitude>25.660756</longitude> <thumb_url>/hotels/atlas.jpg&l

我目前正在开发的安卓应用程序遇到了一个小问题。 我有一个XML文件中声明的兴趣点列表。POI的外观如下所示:

    <hotel>
    <name>Hotel Atlas</name>
    <latitude>45.612079</latitude>
    <longitude>25.660756</longitude>
    <thumb_url>/hotels/atlas.jpg</thumb_url>
    <phone>039999999</phone>
    </hotel>

阿特拉斯酒店
45.612079
25.660756
/酒店/atlas.jpg
039999999
我遇到的问题是,有大约200个兴趣点,每次用户访问应用程序时,XML都会从在线位置读取,这意味着互联网流量很大。XML是在线存储的,所以每次我想添加另一个POI时都可以更新它,而不是强迫用户更新应用程序。有没有办法将这些数据发送到应用程序,而不需要下载整个XML

我还没有找到一个最佳的解决方案,并决定征求一些意见


谢谢,Vlad

只有两种可能的方法:

  • 提供包含所有POI的静态数据库或
  • 在需要时从web加载数据 现在你们可以做一件事,用App保持静态数据库。应用程序启动后进行web调用,如果您在服务器数据库中做了任何更改,请检查更新的数据。如果服务器数据库有任何更改,则仅将这些数据更新到本地(静态)数据库


    要实现上述步骤,您必须向服务器传递上次更新日期。我的意思是,无论何时进行web调用,您都需要从客户端传递上次更新的日期,服务器将检查在此日期之后要更新的新数据。服务器将把客户端日期存储为更新日期并返回到客户端。

    也许可以像“一个POI-一个文件”那样存储POI?在这种情况下,您可以轻松地从服务器上只读取新点

    您可以将它们存储在本地,并每次更新一次。我试图避免存储在本地,我想以某种方式只获取新项,但为了在XML中搜索它们,我需要读取整个XML文件,以便流量仍然有效。您只能从用户处获得一定距离的POI。我建议使用Android提供给您的@vladn SQLite数据库。但是如果我使用SQLite,是否有方法将本地数据库中的数据同步到(例如)在线MySql数据库?@VladN静态/本地数据库的意思是SQLite数据库本身;)@VladN我告诉过你同步数据库的方法。在某一点上,您表示希望频繁更新/更改web上的数据,在某一点上,您表示希望将本地数据库同步到web数据库。你能不能马上过来?@PareshMayani我不是说同步。。。我在考虑更新。您的解决方案非常好,我需要了解的是:服务器数据库需要是SQLite才能获得更新,或者我可以使用其他类型的数据库(例如mysql)。