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(變化情況)傳給客戶端
如果數據變化,傳給客戶端一個數據有變化了的標志,讓客戶端刷新整個列表或者提示用戶應該要刷新整個列表。
添加回答
舉報