5 回答
TA贡献1891条经验 获得超3个赞
楼上的难道没做过移动端分页嘛??移动端分页涉及到有变化的数据肯定不是按page=1这种方式来的,不然要重复或漏掉,(漏掉还好,重复客户端一下就发现了)
通用解决方案是这样的:
首先你肯定有个排序呗,比如说按时间,按分数等,客户端要下一页只需要传它当前页的最后一条记录的标识符就ok了,服务器拿到这个标识符再找后面的数据给它。
例子:
假设server端数据是1,2,3,4,5,6,7,8 返给client数据是1,2,3,这时需要3后面的数据,就把3传回server,server拿到3再按照约定逻辑找到比3大的是4,5,6给client,这样即使新增或删除都不会有重复问题
以前我们做瀑布流图片展示就是这样的,另外FB,instagram的api很多都是这样设计的
TA贡献1841条经验 获得超3个赞
你都不用数据库,那数据怎么还会消失呢?
分页可以吗?按照你存的list.类似如下伪代码:
`
List<x> list1 = list.subList(0,3);
List<x> list2 = list.subList(3,6);
List<x> list3 = list.subList(6,9);
TA贡献1829条经验 获得超9个赞
分页列表中的数据被删除的情况确实很麻烦...
可以考虑3种解决方法:
数据量小的话不要进行分页了,直接一次性把列表中的数据全给客户端
数据量大非要分页的话,可以考虑每次不光传递要获取的那一页的数据,顺便把前面已经获取过了的页面的数据的diff(变化情况)传给客户端
如果数据变化,传给客户端一个数据有变化了的标志,让客户端刷新整个列表或者提示用户应该要刷新整个列表。
添加回答
举报