2016-12-25 171 views
3

我正在开发一个android应用程序,它将从我的web服务中获取数据并将其显示给用户。我在决定在哪里分页(在客户端或服务器端)有困惑Android分页服务器或客户端

我的方案是,我会从用户那里接受输入并调用我的web服务,以获取输入可用的所有数据(响应采用Json格式),然后显示Recyclerview中提取的数据。我想最初只显示50条记录,然后当点击“显示更多”按钮时,显示下一个50条记录。

根据用户的输入,我的数据(来自webservice的响应)范围从0到15000不等。我在UI中还有其他的过滤参数,这些参数在选择时会改变渲染的数据。

那么,一次获取所有15000条记录并在客户端进行所有类型的处理是否好?

或每次点击“显示更多”按钮时获取50条记录?并在过滤器更改时触发新的API调用?

谢谢。

+0

做你想做的。并尝试一切。这比问我们什么更好。 – greenapps

+0

我也建议分页,但忘记更多或加载更多按钮。正好当用户滚动加载下一页时。更有效的方法。将来也要考虑这一点。现在你有15000条记录,也许在未来的某个时间你将有1.000.000条记录。与分页是我的建议! –

回答

2

您不应该一次尝试获取如此大量的记录,因为:1)您的应用程序的FRT(第一响应时间)非常慢2)用户不太可能查看超过几百个记录在任何给定的时间。 3)如果支付用户数据(2G/3G/4G),用户最终支付他永远不会看到的数据。

因此,您应该始终在服务器端进行分页,然后您的客户端可以在需要时请求后续记录。

话虽如此,网络请求将需要时间并等待响应,每次用户点击“显示更多”也会是不好的UX。所以,你需要考虑批量请求,甚至预取一些数据。这是一个很好的视频,让你在改变你的架构之前看到:https://www.youtube.com/watch?v=3kOx-IPqtqA