我需要实现一个用于视频提要的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游标这样的东西,如果是这样的话,那么最好允许重复。 –