00:00
好,接下来呢,我们分析一下啊,上一讲这个bug,上一讲什么bug呢,我们来再来复现一下。是这样的,我点击这个添加钮之后,在这个右侧呢,出现这个红点,然后进来,进来之后啊,它这个地方并没有显示我们想要的名称和原因啊,那怎么分析这个问题呢?那有同学啊,他就会一直在当前这个页面去查找啊,在这一直查,一直查一查啊,直到查出来为止啊,那怎么办呢?我今天教大家一下这个bug调试bug啊。好,首先分析一下这个数据的来源。当前这个数据是不是属于这个。小一点。当前这个adapter。他有问题,那么你就一定在这查吗?啊,首先你要分析的是他这个数据的来源来源于哪。
01:02
他要想显示这个item条目,那么他数据来源哪呢?大家看一下谁给他这个方法赋值啊,啊是不是在他的,因为的啊,就是这个新方法,这个新方法它的数据来哪呢?来源于本地的数据。啊,这个get invitation这个方法中。那好。在这儿呢?来源于这个。这个方法,那这个方法,这个方法中的数据又来源于哪呢?啊,它这个是数据库的get方法,那么它的方法在哪呢?哎,大家还记不记得在这个ER这个方法中啊,这里有一个。这个地方。啊,这。接收到了啊,联系人的新邀请啊,就是有新的邀请之后呢,我就将这个邀请信息添加到本地数据库中。
02:06
这个是添加的方法。二。啊。爱的方法。那么这个方法之前啊的数据又来源于哪呢?这个数据的最终源头啊,来源于缓信的服务器。啊,大家以后啊,查找bug的时候,一定要查找数据的来源啊,而且这个数据的来往往都是来源于最终的服务器啊,你外就是啊跟你的APP服务器进行打交道啊,仅此而已,只要找到这个数据来源之后啊,其他都不是问题啊,那接下来我们就对这些数据进行啊调试。首呢,我们这个不家用不用这个这个首先先找到这个这地方一个。
03:08
在哪呢?因为adapter啊,在这里面,在这个刷新方法啊,获取数据的时候添加一下断点之后呢,在这哪等于哪呢,在这个get invitation。啊,什么时候调用它,那么我们再打一个端点,那就是来到了这。来到这啊,这个地方是从数据库中去获取数据,然后呢,我们再去,再去哪呢?去这个I的方法中啊,去打断点,这个I的方法是在这儿。全局监听啊,接收邀请信息,那么我们来到了。这个地方啊,联系人邀请,同时呢,这些我都可以给他打脸。好,到时再见。
04:00
这样呢啊,整体就OK了啊,这个呢是环新的服务器,环新的服务器呢,直接跟我们打交道的,就是对应的这么三个方法啊好,接下来我们debug运行一下。好,这样呢,程序就运行起来了,运行来池之后,我们点击这个添加钮啊,诶直接就停在了这个接收到联系人新的邀请啊这个断点上面。之后呢,我继续往下走啊,打断点怎么打呢?哎,走这个这个呢是执行完当前这一行啊,如果走这个呢,就是进入到当前这个方法中啊,我们这里直接过去啊,这右面呢,就会显示你当前这个对象的数据。啊,再往下走。啊,往下走,这个呢,管线ID是艾特硅谷001啊,是没有问题的啊再往下。
05:00
往下看这个原因啊,变成了添加好友啊,再往下。就来到了这行,真正的去保存这个邀请信息啊,我们进入到这个方法里面去看,这个是进入,这个是跨过啊进入就来到了啊看什么呢?看它是代表圈,表示后面是地址,那么就说明它不为空,那么就可以继续往下走。啊,再进来,再往下走,还是同样道理,还是有地址,那他就不会空啊,往下走再走再进来,最后呢,就来到了真正的添加要紧信息这个方法中,来到这呢,这是一个系统的方法啊,Get,我们不需要看它啊,跨过去。之后呢,再跨过去。啊,当前Y6值为空,再往下走,这个原因呢,就变成了添加好友啊,目前还是正常的。再往下走,这个状态呢。啊,改变了从零啊,原因变成添加好友还是没有问题,再往下走。
06:01
看一下当前这个右子啊是不为空的,而且这个名称为艾特硅谷001啊,昵称都是对的。啊,后面这些信息都可以看啊,都可以去看,然后呢,跨过去啊进来添加这个联系人的信息往下走。啊,往下走。哎,发现这一切状态都非常正常啊,那暂时可以认为这个I的方法是没有问题的,那么下一个端点到哪呢?就到了它的get方法。啊,盖的方法是这个这个地方啊,那怎么执行呢?你可以点击这个全速运行啊,全速运行那它并没有进到这个断点呢,哎,那他需要你这样。需要点击进来之后,哎,他才能走到当前这个邀请信息的页面啊,所以才能进来,现在目前进来了,进来之后呢,啊,我再一步一步的进去看一看,哪里有问题进来啊,再进进。
07:02
目前没有问题,进来啊再进。再进去啊,就来到了获取这个邀请信息的啊,这个方法中啊,来到这个方法中之后呢。哎,我们单步运行一下啊,往下走。啊,但目前没有问题,往下走啊,Select这个表也没有问题,再往下创建一个集合往下走啊,也没有问题,再往下。获取信息没有问题,再往下走啊,他暂时扭的这对象都是过于空,那么往下走,那往下走,走到这。这个原因。啊,往右看。这个原因是不是已经添加了,变成添加好友啊,还是正常的,那再往下走。找到这一行暂时还没问题,再往下走。这个啊群ID它是否为空呢?它为空啊,那么说明是联系人啊,目前还是正确的,那再往下走。
08:03
那走到这儿。创建一个联系人的信息啊。往下走。走。哎,这个U缝呢,也被赋值了啊,比如说这环线ID已经变成了001,再往下走,哎,这个name也被赋值了,也没有问题,再往下走。啊,再往下走。目前啊,这个。U音符是负值了,但是我们往这个音。啊,因为in斯往里添加这个数据的时候啊,大家往下看。变成了什么?带走。啊,下来了。找到这儿之后呢,再往下走。啊,找到这,找到这的时候,你看一下这里面的数据啊,这里面的数据就变成了U,这为空个group为空啊原因为添加好友啊,这个状态呢为这个。那么这个好友明明我添加到这个U份里了,那怎么这里就没有了呢?啊,大家仔细看。
09:06
这个地方我有没有将这个u in for添加到这个要紧信息里面呢?啊没有,所以说呢,这个地方啊,要添加一下set。User,来一个user in,这个group,这个同样道理,Invit in for.set。将这个音符啊进来。这个地方啊,大家一定要注意这个没有对它啊进行设置啊。好,我们再运营一下程序,这款呢,就可以全数运行了。好运起来了啊,来到这一面点击添加啊,这个好友邀请发送过来进来啊,你再一看这个名称啊和这个原因啊,就已经改变过来了啊,这就是正确的了啊,接下来呢,这个点击这个接收按钮和拒离按钮啊,我们一会儿再做啊啊大家呢,一定要学会这个debug调试,而且呢,要学会这个分析数据的这个走向啊,从哪啊经过了哪几哪几道关卡拦截这个数据啊,从adapt get啊到环境服务器啊,这个是比较多的啊,正常情况下这个数据啊,往往就是adapt直接就到了服务器啊,那么你在查数据的时候,一定要从这个服务器一点一点往这边推。
10:30
啊,一点点去排查啊。
我来说两句