关于好友动态功能实现卡主了,求大神指条明路....
这几天一直在做类似微博的关注和粉丝的这些功能,却卡在好友动态了。
因为动态肯定是只能显示关注过的好友的动态,包括了好友日志发表,好友评论了什么文章等(数据库中有文章表,和评论表,回复表,用户信息表,和用户关系表),而且这些动态肯定也是按时间倒序排的,然后文章发表和评论发表都有自己的时间。
就类似于空间那样,有可能1s的时候好友发表了文章,2s有其他好友评论了某一文章,也有可能都是评论或文章,随意
行比较大,这取决于好友的操作。想来想去都觉得很复杂,想不通。曾想过遍历好友id,找出好友的文章更新或评论更新,但
是页面呈现数据的时候遇到问题了,因为是不同的表,所以查出来的都是不同用户的文章更新或者品论跟心而且有两组时间,
我现在不知道怎么才能让它们以正确的时间倒序排列显示出来了,求大神们指条明路....小弟先行谢过了!!
------解决方案--------------------如果你要把所有的信息都以一个layout输出的话,那么应该是使用同一个类.
这样的话,你在数据库读取信息的时候就可以建一个类似的临时表,从各个表读取数据,包括每个动作的操作时间.最后从这个表select的时候,order by 操作时间 desc就可以.
这个不难啊,不是很清楚楼主卡在哪里了.
------解决方案--------------------"数据库中有文章表,和评论表,回复表,用户信息表,和用户关系表" 这些数据你都给它绑定到你想要的地
方,当然是按时间排序的了,如果没有绑定结果自然为空,如果有就显示绑定结果(当然可以显示前10,点更
多显示全部的)!
------解决方案--------------------
------解决方案--------------------
好吧,假设你只能做到“数据库增删改查”这个级别的设计开发,那么我给你一个最基本的方案,就是每一个人的待推送的消息必须单独创建一个“看板”。系统中为每一个人创建一个“看板”,上面包括你要快速查看到的信息。这种信息越少越好,但是又必须完全覆盖你的大页面所需要的所有即时提醒信息。
但最底层的明细数据改变时,它必须改变看板上的一个状态值,通知看板“需要刷新了”,然后有一个进程/线程再轮询地处理这些状态值并刷新看板。这样做的目的是避免看板上的信息产生抖动——由于明细数据连续被改变而连续刷新。
基于这个机制,客户端每一次都是直接读取看板上的数据,而从来不跟明细数据打交道。客户端不是去通过几十个select语句去查询明细数据来产生客户端桌面上的大量消息,而仅仅是简单地读取看板消息(甚至仅仅读取时间戳修改过的消息)。
看板越小越好!但是必须覆盖所有即时消息!