我的 Android 应用程序显示的所有数据都取自 XML 文件。我正在使用 Volley 检索数据,并使用 SimpleXML 将 XML 数据映射到使用 Volley 自定义 Request: 的对象SimpleXmlRequest
。
每次我刷新内容时,它都会读取整个 XML 文件并再次创建每个对象,我觉得这不是最好的方法,因为这个文件可能非常大。所以我对此有几个问题:
- 有没有办法“订阅” XML 文件以仅检索添加在其上的 新 项目,避免每次都读取整个文件?我知道 Volley 可以缓存,但在这里没有太大帮助。
- 是否可以使用 SimpleXML 框架进行 SimpleXml数组请求?这会有帮助吗?因为我真的不想自己解析文件......
- 如果没有,是否值得从 XML 切换到 Json以便我可以使用
JsonArrayRequest
,或者我是否必须读取整个文件并刷新每个项目?我以前从未使用过它。 - 源文件中的许多项目都显示为列表,
RecyclerView
但是,当我再次刷新时,我必须删除它之前拥有的项目并再次添加它们,因为我一次获取所有项目,因此无法使用RecyclerView.notifyDataSetChanged()
.
我读了很多书,直到发现 RxJava 和 RxAndroid 看起来很完美,但在上面集成 Volley 和 SimpleXML 看起来太难了......所以我希望你能帮助我:)
谢谢!