关于在Android上使用Volley(和SimpleXML)检索/刷新数据的问题



我的Android应用程序显示的所有数据都来自一个XML文件。我使用Volley检索数据,使用SimpleXML使用Volley自定义请求SimpleXmlRequest将XML数据映射到对象。

每次刷新内容时,它都会读取整个XML文件并再次创建每个对象,我觉得这不是最好的方法,因为这个文件可能很大。所以我有几个问题:

  1. 是否有方法"subscribe"到XML文件以仅检索新增项目,避免每次读取整个文件?我知道Volley可以缓存,但在这里帮不了多少忙
  2. 是否可以使用SimpleXML框架?这有帮助吗?因为我真的不想我自己解析文件
  3. 如果没有,是否值得从XML切换到Json,这样我就可以使用JsonArrayRequest还是我必须读取整个文件并刷新每一件商品?我以前从未用过它
  4. 源文件中的许多项目显示为列表,使用RecyclerView,但是,当我刷新时,我必须删除项目它以前有,并再次添加它们,因为我在一次,因此不能使用RecyclerView.notifyDataSetChanged()

我读了很多书,直到找到RxJava和RxAndroid,这看起来很完美,但在上面集成Volley和SimpleXML似乎太难了……所以我希望你能帮助我:)

谢谢!

除了非常轻松之外,我总是与Json一起工作,与GSON这样的库一起工作很有趣。

为了只获取新的数据,我的做法是在数据库表中包括两个字段,1个表示isDeleted(布尔值),1个代表lastModified(长epoc时间)。

只有当多个用户访问数据时,isDeleted字段才适用。

最新更新