我需要實現一個用於視頻提要的Web服務,並將其用於Android客戶端。從遠程服務中恢復的ListView和大型列表
順便說一下,我的實現是一個方法getVideos(offset,quantity)
與MySQL表返回查詢結果SELECT * FROM videos ORDER BY id DESC LIMIT offset,quantity
其中ID是一個自動增量值。
但是,因爲它是一個非常活躍的飼料我發現以下錯誤情況:
數據庫有視頻1,2,3 ... 10。
Android客戶端請求視頻偏移量= 0,數量= 5,因此返回項目10,9,8,7,6。用戶開始播放一些視頻,同時發佈5個新視頻,所以現在該表格包含1,2,3 ... 15項。然後用戶繼續滾動,當用戶到達列表末尾時,客戶端嘗試請求下一個bundle:offset = 5,quantity = 5,但是返回相同的項目,出現重複項(或者不添加任何內容)到列表顯示。
如果這個問題最好的辦法是什麼?
感謝您的回答Jakub,我忘記了提到服務結果不是必需的由id DESC命令。想象一下,例如一個「流行」的feed,以positive_votes/votes的順序返回結果 – Addev
@Addev已更新。如果這不起作用,那麼你唯一的機會就是像SQL遊標這樣的東西,如果是這樣的話,那麼最好允許重複。 –