我一直在用Volley向我的api提出请求。到目前为止,一切都很顺利。我反序列化JSON响应并将对象缓存到我的数据库中,然后查询我的数据库以显示对象的数据。但是,如果我的回答是这样的话会怎么样:
{
"Author": {
"name": "John Doe",
"Books": [
{
"url": "www.myapi.com/book/1"
},
{
"url": "www.myapi.com/book/2"
},
{
"url": "www.myapi.com/book/3"
}
],
"Articles": [
{
"url": "www.myapi.com/article/1"
}
]
}
}
url是实际对象的api端点。为了获得我的视图所需的所有信息,我将不得不进行for循环,并通过Books和Articles对象再发出4个api请求。我不确定实现这一目标的最佳方法是什么。在请求完成之前,我无法查询我的数据库,也无法知道上次请求何时完成。
这似乎很常见,但我还没有遇到任何涉及此类情况的事情。怎么办呢?
答案 0 :(得分:0)
对于UX来说,这种反应很糟糕,因为在向用户展示内容之前,您需要请求N次。
如果您可以更改回复,我建议您这样做。
顺便说一句,您可以使用EventBus从Volley线程向主线程发送对象,这样您就可以在每次完成请求时更新UI。