我的Android应用程序显示的所有数据都来自一个XML文件。我使用Volley检索数据,使用SimpleXML使用Volley自定义请求SimpleXmlRequest
将XML数据映射到对象。
每次刷新内容时,它都会读取整个XML文件并再次创建每个对象,我觉得这不是最好的方法,因为这个文件可能很大。所以我有几个问题:
- 是否有方法"subscribe"到XML文件以仅检索新增项目,避免每次读取整个文件?我知道Volley可以缓存,但在这里帮不了多少忙
- 是否可以使用SimpleXML框架?这有帮助吗?因为我真的不想我自己解析文件
- 如果没有,是否值得从XML切换到Json,这样我就可以使用
JsonArrayRequest
还是我必须读取整个文件并刷新每一件商品?我以前从未用过它 - 源文件中的许多项目显示为列表,使用
RecyclerView
,但是,当我刷新时,我必须删除项目它以前有,并再次添加它们,因为我在一次,因此不能使用RecyclerView.notifyDataSetChanged()
我读了很多书,直到找到RxJava和RxAndroid,这看起来很完美,但在上面集成Volley和SimpleXML似乎太难了……所以我希望你能帮助我:)
谢谢!
除了非常轻松之外,我总是与Json一起工作,与GSON这样的库一起工作很有趣。
为了只获取新的数据,我的做法是在数据库表中包括两个字段,1个表示isDeleted(布尔值),1个代表lastModified(长epoc时间)。
只有当多个用户访问数据时,isDeleted字段才适用。