Android离线数据同步方案,Android不同页面间数据同步

场景:

你可能遇到过类似的情况:同一条数据在多个页面上展示,并且这些页面同时存在,在其中某一个页面上修改数据,其他页面能够及时更新。我在工作当中就遇到了一个类似的场景:我们APP内部做了一个论坛,每条帖子都可以被点赞,可以在列表页点赞也可以在详情页点赞。以前只有一个列表页,一个详情页,所以直接通过startActivityForResult和onActivityResult就可以在返回列表页的时候更新列表页的状态。后来又增加了一个列表页,跟前一个列表页有重复数据,上面的那个方法就玩不转了,只得另外在想办法。本文就是从这个问题出发,提出一个解决同类问题的通用方法。

架构:

核心思想:

借助EventBus构建一个Publish/Subscribe系统;

每个页面就是一个Observer,向EventBus订阅自己感兴趣的事件;

当数据对象(Subject)发生改变,发布(Publish)一个事件出来;

页面接收到事件更新自己持有的数据、修改页面展示。

实现:

事件基类:

public class BaseEvent {

public String uuid;

public BaseEvent(String uuid){

this.uuid = uuid;

}

public BaseEvent(){}

public boolean isMe(String me){

if(TextUtils.isEmpty(uuid)){

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值