坑,组件的View之间有通信的话,再加上服务器的值,那就是坑

1、本来尼玛没想到,没想到两个Activity下有一个共同的值


2、这个值,暂称呼为  value吧


3、如果这个value是动态的,而且两个Activity下一定要保证一致的话,那就是大坑


4、A改变了value,B一定要展示修改后的,反之也一样


5、假设value在A页面显示的是5(从服务器取的),然后打开B页面,显示的也是5    (服务器存的哈,每次都是请求拿到的value)

此时在B页面发出网络请求,拿到响应,其中响应的返回的增量是3,那么B页面显示为8,其实是本地的5+3,然后back回A页面,此时A页面已经不再发网络请求了,而是赋值为B传递给他的(一般Intent里传递过来就行),好,两个页面现在都是显示的8,   另外服务端那变存储的就是8。  这样看起来没错


6、那么坑在哪里了呢,   坑在你给本地的value加了个6(这个是你本地做的),但是其实服务器那边只是加了一个3。。。。 当再从A页面发出网络请求,拿到value ,  其实是 5 + 3 , 因为服务器就给加了个3。。  为啥呢,因为需要你在B页面发出一次请求,服务器才会给你加个6


这个逻辑就是,抽奖double的逻辑,A页面是5,B页面是5,开始抽奖,中奖3个硬币,如果看完广告,就会加6个硬币,错误就犯在,你没有看广告,就直接给了双倍的硬币, 应该本地先5+3, 看完广告应该再加3,即5+3+3。  你现在做的是 5 + 6,这显然不对,如果没看广告,实际服务器只能加了3,你本地的做了双倍,那就数值不一致了

猜你喜欢

转载自blog.csdn.net/cadi2011/article/details/80949622
今日推荐