00:00
好,我们来看一下昨天我们学过的知识,昨天呢,我们主要是讲了一下休息日与义务任务。首先第一个呢,是关于消息机制的引入,什么叫消息机制引入,就是说这个技术是因为什么原因来产生的。对吧,是基于什么样的需求,我们提出了消极者这样一个概念。啊,有这样的三条,这三句话大家需要去看一下。啊,这中间呢,一个是我们在安卓里面只有主线程才能直接更新界面。啊,这话大家应该要很容易就能说出来啊,第二个在安卓里面长时间的工作呢,需要在分析的去做,譬如说我们的联网的工作,对吧。但是在我们的实际功能中,经常需要去联网获取数据显示,那我的分线程得到数据以后,需要立即切换到主线程。
01:11
去显示数据。这个时候就涉及到一个问题,叫如何实现。线程间的通信。好,这地方。嗯。我们说过了可以用什么,就有一个概念叫是不是消息是啊。所说消息是实际上可以,我们可以把它看成就是说的是hand的了,对吧,那由于我们既有主线程又有分线程,既上一旦涉及到分线程,就会涉及到什么东西thad对吧。嗯,消息机制它本身啊,并不是说强迫你要用分线程。
02:01
但是我们真正去做的时候,因为我们要实现线程间嘛,那肯定至少有两个线程了,对不对。所以说肯定会用到TH这样一个概念,那我们线程内部,也就是说我在主线程里面。也是可以用handle的。好,再一个叫什么呀,异步任务是吧?异任务用什么概念呢?来我们来看一下,叫a think task。啊,A task,它等于什么呢?Handle加在这里面,我要强调一下,你写TH其实也可以,但是我要强调一个东西,它内部用的是线程词啊,要有线程词是不是?就效率要更高一些,嗯,对啊。
03:02
好,再说的是它的一个引入,下面就涉及到message的使用和handle的使用啊,主要说的是它的一些相关的一些API啊。来,先来看message。首先大家要理解me它的作用是什么,它的意义是什么啊,也就是说我们你说首先你要知道me是什么呢。怎么来看?它你可以把它看成一个数据载体,对吧,那这个数据载体用来干嘛的了。传递消息的对吧,也就是说我们线程间通信间通信是不有一个数据传递啊啊OK。数据在好。
04:05
那用比较文明的话来说,可能就是什么通讯的数据专业啊。好来看一下,一旦看一个类,我怎么样去,从哪些方面去看呢。大家说我看一个类的使用怎么样看呢。啊,你要使用从哪个方面,哪几个方面看,找一个人说说啊。吕秋雨。嗯。象接得了挺好的,对了吧。这里面分为两个方向,第一个呢是创建对象创建啊,对象的创建,再一个呢就是对象的使用,就是你有了对象以后呢,你能对对象进行做一个什么样的使用啊,对象的使用啊,就这几个方向,先来看对象的创建,这个比较简单。
05:07
怎么做的,怎么样创建一个me对象,Me一点,Over ten吧,Over。对吧,就可以得到一个message对象啊,得到一个message对象好了,下面。对象的使用。嗯。好使用这个里面它只是一个数据的载体,我们很多时候就是把它里面设置一些数据,对吧,它哪些数据呢?首先第一个是它的什么标识叫what,就是标识,接着是一些数据了。有X1和X,什么X2?对吧,还有什么类型的。这叫刚刚他叫什么名字啊,Obj是吧,Obj这三个都是用来去存储数据的吧,啊,数据只是说这个里面啊,前两个都存在int数据。
06:19
啊,下面这个呢,也是用来保存的数据的,嗯,这一个呢,是保存的是。是任意类型数据都可以啊,啊对象数据。啊,这几个是我们经常会用到的啊几个还有一些呢,大家需要去了解的,理解的一些。一些属性,譬如说它里面有一个啊,是不是handler叫什么名字啊。是他给的呀,这用来干嘛的?保存处理消息的对吧。
07:02
嗯,处理消息的handle的对象,那他这个对象到底是谁负的是谁呢?是,确实是处理消息的憨,那憨到底是谁呢,对吧?你确实是,我们是用来去保存的,但最终保存到底是谁对不对,你要知道啊,最终保存的是谁啊。是不是发消息的,就是发消息的那个看到了。能理解吧,好,来,继续往下。爱吗?No类型的什么问问什么意思?这保存了什么数据?这消息应该什么时间被什么消息应该被处理的时间对吧?应该被处理的时间。
08:09
我消息最终被处理的时间,真正被处理时间。一定要等于它吗?那个消息真正被处理的,他只是应该被处理,对不对,但真正被处理的时间是什么时间啊,是不是要怎么样大于等于它吧,嗯,就这样的一个事,好,还有什么?听说它这里面有一个这个next来这个有什么用呢。你说这个有了这个属性,它起一个什么作用的。是不是我的message可以形成一个队列呀?啊,有了指属性啊。
09:09
就可以形成队列,好下面啊来继续往下看,它这里面呢,还有一个这里面后面呢是一个静态的,我写一下。啊,Static static什么呢?Message有一个概念叫这是一个什么东西?这是不是个消息词啊,啊消息词,那消息词是做什么的。缓存。怎么样用过的消息对吧。消息是不是可以复用啊,啊用于复用。你说谁来雇用他呀?谁来服用?
10:05
就这一个方法来服用他呀。上面这个里面是不是有可能是创建,有可能是新建的,对吧?啊也可能是什么,是复用到哪里呢?是不是消息池中的,消息池中的。嗯,那我们就不应该去六对不对啊,就这样的一个是啊,就它里面呢,还有一个。还有一个什么呢?叫的一个东西。啊,其实是一个好像我记得没错的话,应该是个runable里面名字取的叫,就是用来处理消息的回调啊,回调监听。啊,回调器或者叫,但是呢,我们用的很少啊,当前消息的回调器。
11:13
这几个呢,是不是说特别特别重要啊。重点还是我们经常用的几个,一个就是标识啊,一个就是数据。啊,主要这两个大家必须把前面最基本的给他搞搞懂了啊。啊。这个里面怎么还有一些。他他这个不好的地方,有的时候他你要你要写了一个写了一个斜杠,它就会出现这种情况。你没换行啊。嗯。嗯,现在已经回不去了。我想把它回去。
12:02
我靠,还怎么掉啊?这个攻略还有有有一些小弊端啊。那不用管了啊,小事情。来看一下。Message呢,它我们主要作为一个数据的载体,下面我们来看另外一个handler。首先,我们还是说handle是用来干嘛的啦?发售和处理消息对吧,发送啊处理还有吗。移除消息主要就干这些事对吧。来,那下面首先我们要看的是它的对象如何创建呢?嗯,对,下来把这一个呢,就不要成红色了啊。看对象。嗯,对象的创建,这个其实就比较简单,没有什么太大好说了,对吧,是不是六它的handle的构造器啊啊好了,下面下面的问题就是对象的使用,那它的使用呢,主要又分为几个方向啊,先把那个它的方向搞清楚,使用,你看它是不是有不同的功能呢?我们可以根据不同功能去看它的方法对不对,譬如说发消息对吧,还有把这个先写出来,叫还有什么处理消息,还有一个移除消息没了吧?好,我们先来看发消息。
13:49
我那说他发消息又会分为很多种情况。啊,譬如说发即时消息对吧,叫send的message传一个啊传what呀,是不是传一个message呀,既然你说发消息吗?好,还有发延迟消息,就是你这个地方呢,确实也是发的消息,对吧,但是你是不是会指定一个延迟的时间呢?诶如果我没有指定延迟时间,它其实延迟时间是几啊,你就是这地方有一个对吧。
14:37
嗯,D内好,那我的参数就要多一个了,指定一个。延迟的什么delay可以吧,延迟的时间。好,其实上面这一个都是发的是带数据的消息吧。那还有一种叫发什么空消息,发什么呢?及时的空消息,这个地方强调一个对吧,那及时的空消息怎么发了,Send empty message,传一个in what,也就是说一个消息它至少要有什么。
15:24
标识吧,其实我们现在发的空消息,空指的是什么?为空啊,就是内容对吧,消息不带数据对不对,好下面。还有发什么?发延迟的空消息是吧,不是及时的,是延迟的空消息。发送延迟的。空消息好了,来这个时候我们也把上面的这个可以复制一下,空下以后呢,改改这后面加一个是不的好。
16:02
来叫传一个long类型的叫DNA,是不是时间呢,延迟的时间。嗯。好,下面处理消息。我们用哪个方法来处理消息啊?我们一般会去重写,这个方法叫hand message方法来。处理消息,那处理消息你说传一个什么样的参数啊,是message啊。啊,这个方法我们叫他什么方法,回调方法,嗯,这个得专门强调一下,因为我们需要的是重写。对,就是肯定不是调用好下面移除消息是不是有一个啊。Remove message传一个什么东西?根据什么来移啊?What标识啊,那好了,那假设我要有很多种不同的message要移除,你是不是要调用多次啊?
17:13
前面我们做那个小小代的时候,是不是掉了两个,你既要移除增加的消息,也要移除什么减少的消息,其实那个handle德有一个比较不错的方法,是我们后面会用到的一个方法啊,也是移除消息,但它是移除所有消息。那个就比较厉害了,看我们现在是用的用message对吧,它只能根据标识系数吧,诶看这里面它。这个很牛。啊,这个里面是remove and什么呢?Message,它是不是传一个token呢,看这。如果你传的是浪。所有的回调监听和什么message都会被移除啊,我们后面就经常会用它,因为这样的话效率更高,咔嚓一下全部干掉。
18:14
嗯,这个大家先有一个了解。这里面呢,是移除指定what的message吧,Message下面如果你想移除所有的,那就用这一个。那就这一个传一个什么呢?那移除所有未处理的消息,这个地方一定要强调啊,移除未也前面也加个未处理的。或者说加在这里吧。嗯,一个是所有一个是what。
19:02
没问题吧,好,这样我们就把handler和那个mes跟大家说一下。啊,我们后面是不是跟大家也说一下什么me和那个lo呀,嗯,这个呢,大家稍微了解一下就OK啊。怎么说呢,就是现在呢,你们可以完全的就基本上不用去管它啊,等到大家做到项目深入以后呢,大家的能力提升上来了,还是应该。好好的去看一下,它就根据你的能力来吧,你要学的比较好的话。肯定是了解他,肯定有帮助。好,这里面我就不再一个一个去说了,下面我们来看一下消息机制的原理,主要是有两个图。需要大家去好好的去看,最好是能够自己能去画。嗯,就这一个。
20:04
来,我把它呢给大家截下来啊。其实消息因为使用起来其实很简单啊,没有多大难度,主要是在面试,或者在以后大家深度学习的时候,就需要对它的一个流程和原理呢,有一个比较深入的了解。这是一个啊,还有一种表现方式,其实两个意识呢差不多,只是嗯,站在角度呢,不是完全一样的,就这样一个。这里面比较侧重于我们的消息队列的结构。还有一个就是我们处理消息的时候,真正处理可以处理消息的,实际上是有三种方式,我们用的呢是其中的一种。啊,也是最常用的一种,大家暂时先把这一种搞定再说。嗯。啊。
21:00
啊,这呢,我们就把它搞定了,下面啊,我再跟大家说一个事情,就是那个我们的消息handle德了啊能用于做什么,一般用于用于做什么工作,用于做什么工作,就是首先第一个呢,肯定是线程间通信,这个是我们的一个重点,就是说我们从分线程切换到主线程的时候,是不是就用handle去发消息啊。这是最最常用的一种方式。对吧,就是分线程切换了主线程,主线在运行啊,那时候用handle就比较好。啊,还有一种是用的比较多的来,就是什么呢?一个是循环的任务,循环的工作,循环定时工作,什么叫循环定时工作呢?就是。
22:08
就是你在想我们啊,还有一种啊,把这个先先把这个说了,就延的工作,这个先把这个说了以后在下面的啊,延迟的工作,什么叫延迟的工作。就是我有某一个事情,我要过一会再干。用安德特别爽,就你发一个延迟消息就可以了吧。我发了,我譬如说我发了一个延迟两秒的消息。在这个两秒之内,我能不能干别的事?完全可以不会影响到你的一个主线程的执行吧。啊,也就是说我在主线程发了一个延迟两秒甚至五秒,甚至十秒,那是不是会在这十秒之内都不能动呢?不是的,对吧,啊,他就是会在啊刚好到达五秒的时候自动执行。这样。
23:00
去做一个延迟的工作。再一个就是做一个什么呢?循环定时的工作,什么叫循环定时的工作呢?就是你每隔。多长时间就干一个事,每隔多长时间就多一个什么事。对吧。或者叫定时循环的工作。这个是不是更好一点,对吧。HM。其实你想想一句啊,无非就是这三种情况。大家把他们呢,好好的给看一下,看看啊,以后呢,你看到之后,你就想我们handle德是不是我需要这三种工作的话,我就想到马上想到用handle。因为真正大家去开发一个功能的时候,是没人告诉你说,哎呀这个功能要用handle了,谁跟你说啊,你得自己想。嗯。
24:00
我拉开个红,嗯。大家相信我来看一下,好,下面一个。我们think task的使用,这个使用起来相对来说是比较比较简单的啊,首先我们来还是来看一下这个里面的一些东西。大家要知道什么是义务任务啊,这个义务任务呢,它有两种理解方式,一个是逻辑上理解,它实际上是指的一个义务任务的一个功能。还有一种呢,就是API上的理解,就把它看成一个类,叫是个task类。那你跟别人交流的时候,他有可能是表达的是这第一种意思,有可能是表达什么呢?第二种意思。你要根据当时的语境,就咱俩交流的时候,对吧,或者说面试官问你的时候。他到底问的是什么?啊,有同学就我问大家一个问题啊,假设那个面试官要问你一个问题,你不知道他问的是什么。
25:05
你怎么办?你就说不知道吗?估计很多同学就说,哎,这个好像没不知道。是吗?比如他问你一个,问你一个问题,你,你呢?你很大程度上不知道怎么回答,是因为你不知道他想问什么。那你怎么做呀?啊,那你怎么跟他交流,跟他沟通。找个人。别闹。你说一下,你你要他问了一个问题,你你其实你回答不了,是因为你不知道他到底想问什么东西,对吧?有时这种情况很常见,你觉得你会怎么跟面试官说。跟他说一个自己知道的,关键是你都不知道他想问什么,你怎么说你自己知道的了。
26:00
对,很简单啊,坐下吧,其实就是就是那个时候你就不要不要胆怯,就是总感觉这个问题应该很简单,我我回是我的问题才回答不上来。你有些人就心里这么想的,知道吧,就总在怀疑自己的能力的问题,导致于我回答不上这个问题。后来发现。是他没有问的太清楚,你不知道他想问的什么啊,后来发现,哦,他原来是问这个问题啊。他要这么问,那我就清楚了。那你后来是不是很后悔呀?其实大家一旦你没有完全的听明白他想问的问题,你就直接跟他说。啊,我没有听太清楚,你到底想问什么,很简单的是大家,大家一定要,就是一种自信的表现,因为你不要总是怀疑自己啊,这也不行,那也不行。就是面试的时候很重要一点就是自信,你可能就是譬如说啊,这一一个桶呢,就这么可以装这么多水,你可能就这么点水啊,到这里来了啊,就装了这么多水,如果你自信的话。
27:09
说不定他看到就是这么多水。对不对,好了,那如果你要不自信,我告诉你,你有可能他看到就看到一丁点。这个是啥的是。对吧。就就是大家去面试,不管你本身,你觉得你自己的水平怎么着啊,是好了还是不好了,还是一般。啊,你是非常大胆的跟他交流就行。啊,不知道,那就是不知道有真正去工作过的人,他有一个特点就是不知道东西,就说不知道怎么着啊,对吧。很正常的事,你我要准备一些问题问你,你也不知道。对吧。就为什么有的同学其实学的一般,但是为什么一上去就找找到工作了,并不是说也可能有运气的成分呢?可能有运气的成分,但是那些平常不太自信的同学啊,如果你学的不太好的话,那你成功的几率就挺低了。
28:18
但前提大家肯定要尽量去好,你不能说他整天就是培养自信是吧,因为自信是建立在你有一定的技术能力的基础上的,对不对,你要完全没有,就是你怎么自信起来了对不对,这个大家一定要搞清楚这样一个事啊。嗯。还有一个啊,大家拍的啊,首先呢,第一个我给家给大家把这个给他写一下吧。关于他的有几个是一个是对他的一个理解,理解它啊,再一个再一个呢,第二个就是它的一个使用啊API。
29:09
嗯,相关API的一个使用啊,好来我们来看一下,先看理解啊,就是说task它是用来去实现一个异步任务效果的一个类。啊,在没有它之前,我们用什么,我们可以用什么呢?叫憨德了加TH去实现一个义务任务的功能,对吧,实现一个呃,义务任务的功能,这很简单,那现在我们用hand的啊,使用它也可以实现啊。就是使用a task。
30:01
也可以啊,为什么我们要用a task呢?啊,为什么用它。从两个方面可以去看,第一个编码上面。是不简洁呀,啊,编码方面简洁,比如说老师我就没看出哪简洁,写下来我就记不住,那是因为你没有记住嘛,对吧,你记住了就解决了啊大家就记住我刚前面说的话,前面呢,我们用hand加slide,我们在问答题对吧?如果我们用的是a think task了,实际上是在做什么填空题,那你是想做问答题了,还是想做填空题对吧?嗯,就当去跟别人交流的时候,你就可以,如果说你用这种方式跟人交流啊,就说你在说a think的时候,我说啊hand加right是做问答,做问答题啊,啊think task是做填空题,他会觉得你是理解的比较透彻的,是你的想法,虽然说这不是你的对吧,但是你所有你知道的东西都是你的。
31:10
啊。啊,再一个呢,就是什么运行效率。是不是高啊啊影响力高,为什么呢。嗯,就是用的是什么,有一个概念叫线程词对吧?啊,这个简洁就区别开来一个是啊,填空题和问答题的区别吧。好,大家需要的把这个呢,给它好好看一下啊,下面来我把这一个把它都学吧,来相关的API,这个API的比较多,但是呢,大家不用去强记什么,大家就记住我们的三步。
32:11
是吧?啊,就是123步咔咔咔这三步啊,第一步做什么,第二步做什么,第三步做什么,对吧,在哪个线程做大家搞清楚,还有这个地方是不是要启动任务啊,大家别忘了啊,经常有可能忘一个事,就是有人创建了一个义务任务对象,行行行行行,最后没有启动。哎呀,老师,我总总是不出效果来,怎么搞的。所以你要没起动有什么,肯定没什么效果呀,对不对。就是大家可以先把这个启动先做了以后再去写实线,这样就肯定不会有问题啊,还有中间这一个,诶这两个用于做什么呢。是不是显示下载进度啊啊,你就牢牢记住这个就OK。
33:05
还有这个里面不好太理解的,就是这里面呢有三个泛型啊,大家需要把这个型呢给好好的看一下啊,好,最后我们学了它的一个叫基本的一个原理啊,以及它的一个流程。这个流程其实很简单的啊,它从上面呢,也能看出来各个方法都在哪个线程执行。对吧。好,我把这个呢,给它复制过来,大家自己下一句呢,可以看看好下面一个啊,也是非常非常重要的。啊,节省数据格式及其解析。嗯。
34:00
在这里面呢,有一些问题大家需要去知道。啊,第一个问题呢,就是杰森,它首先是什么。这个大家得需要知道啊,来,我把这个,我把这些东西都先给列出来啊,第一个阶层是什么。这是大家知道的啊,第二个嗯,就是节省数据的格式,你先要把它的数据格式搞清楚啊,下面才是如何解析接省对吧?嗯,好,先来看第一个杰森是什么。那你怎么跟人说呢,就让人说了,别人就觉得,哎呀非常非常简单是吧,已经明白了。我找个人问问啊,节省试试了。赞同一种轻量级的,一种轻量级的,我都想跟着你说啊,嗯,那那关键是你这样说的,别人觉得能接受吗。
35:12
不错啊,嗯。还有吗?你觉得还有什么可以说的?对象或者是对象的速度。对象对象的数组。没了是吧,睡了吧。来,然后跟大家说一下啊,首先我要跟面试官说的就是什么Jason,就是有特定格式的一个字符串。啊,你说节省说来说去,他首先得说是个字符段对吧,啊第一个。嗯,JA是一个有特定格式的,是不算啊,这是一个。
36:00
还有一个它用于什么呢?对吧,用于客户端与什么呢?服务器端叫数据交互吧,数据交互啊是交互,就是说白了或者说它是数,客户端与数与服务器端数据交互的一种格式的一种数据格式。嗯,这个也能理解吧,嗯。或者用于啊,客户端与它既然是客户端与数与服务器端的数据交换格式,那肯定是用于数据交换嘛,对吧。它其实就是我们数据的一个载体啊,也也可以看成。里面包含了很多数据,还有一个如果问这样的问题,很有可能需要你去拿JA森与什么呢?与差进行比较。
37:05
啊进行比较OK。什么意思呢?这个比较主要是说你的Jason有什么优势?对吧。好比较有什么优势?那你说那个叉秒是不是清量节,他其实也可以是,只是这是比较出来的,就是谁的优势更强对吧?啊,那好啦,那你说它的优势体现在哪个地哪些方面。首先它的根本的原因就是小。就是简洁,由于它的简洁就导致它小,简洁小体现在什么呢?就你在想啊,我现在要描述一个人。描,比如说啊,你就举个例子对不对,这东西举例子就能就能举出来,假设我要描述多个人,描述班级人的信息,那你要我要XL怎么写啊?
38:09
啊,先说班级是吧,写个class我结束,标签我就不写了啊,这个里面有什么student是吧?啊是是不是有多个呀?啊多个啊,我就写一个得了啊里面又有什么name什么age,是这样的吧。嗯,你在这里面去写一些数据对不对,你有开始标签,结束标签对吧,好,你来看我如果是用一个那个监省数据来表达。首先来一个什么中括号对吧,中括号里面是包含很多大括号啊,那也相当于问我一个这样的符号是不是对应的他呀,你说谁更小啊,我都跟小了好几倍对不对。
39:01
你看你几个字母,我才一个字母。对吧。你里面的我用一个大括号,是不是就能代表一个一个它呀。对吧,那接着我再去写一些啊,内母冒号,再写什么它的值吧。它的值那你来看啊,我这个里面你看你是不是要写开始标签,又要写结束标签呢。而我是不是写个内容冒号就可以了呀?这明显我比你的要更小一些吗?对吧。来。就是简洁简它的它非常简洁,简洁就会导致它比较小。那基于他这个小就会有一些好处。哪些好多啊。就对于我们的客户端来说,对于我们的用户来说有什么好处啊。
40:04
你想想看数据,同样一个数据,我用节省来传递,可用他们来传递。对吧,一个数据小,一个数据大。首先这个地方就涉及到花钱呐,是吧,是不是流量啊,省流量。你流量不用省是吧,包月好接着呢还一个。反响应快,这个不知道能不能理解。这很正常啊,你数据小了,当然快了,对吧,你传一个我传一个10K的数据,你传一个100K的数据,你想谁快,那肯定实惠快嘛,对不对,快的话用户体验是不是感觉你这个应用比较快啊。对吧,他可能不想深层次的原因,他就想你的应用好不好用。对吧,我联网的时候,诶,这个应用跑的特别快,这个应用跑的特别慢。
41:04
对吧。嗯,这个是那个面试官可能比较在意的问题,就觉得你有没有这种意识。嗯。好,这是它大家需要去知道。就是他问你一个问题的时候啊,问你一个问题的时候,有人说他问杰森是什么,你跟他比干啥?你去理解一个事物啊,最好是能跟什么呢,他比较熟悉的一些其他的事物进行什么是比较啊。你比较才能比较出我的优势来呀。嗯,下面一个就是数据的格式啊,这个数据格式呢啊,在这里面我就不再一个一个写了。就他。啊。
42:00
哇,这一个。给它货币过来,那个红色的代表是错误的,大家可以看一下。嗯。这地方啊,一定要把大家要记住一点,中括号就对应什么数组啊,对应数组,那那他到时候对于我们Java里面的什么呢。是不是历史的呀,记住这一个是R好了,大括号对应什么叫我们叫它对象是吧,那对象的话,那对应我们Java里面的什么啊,可以两种情况是吧,一种是我们自定类型的对象吧,自定类型的对象还有一种是什么map。这个你打死你也要给他搞得很清楚。嗯,这是一个,还有一个就是关于结构的这个问题。这个结构呢,比较麻烦的是这个歪扭的结构。
43:00
是吧?这个value它的类型有这么多,尤其是它,也就是说我这个value有可能是数组或者是什么。对象。能理解吧,嗯,好了。嗯,下面啊,最后一个就是关于解析的。这个解析呢,大家首先得知道啊,解析的技术相关的有原生的,有那个用勾审框架的啊,公式里面的基本上用勾框架,但是你呢,也不能保准那个面试的时候。他可能先问你。啊,你们项目里面用什么解析阶层数据啊。啊,勾绳是吧,有同学这搞不清楚勾绳有什么,你看这两个单词是不是有点类似啊,一个勾绳,一个接绳,有哥们直接就说直接面试官问他,你说你们数据交互用什么交互呢?勾绳交互。
44:03
他就把钩嗯当成一个数据格式了。啊,还有同学更有意思,你们你们那个网络请求用的什么框架都是。这也是就是各种各种各样的问题都有啊。Goon是用于网络请求的吗?是网络请求的框架吗?不是,对吧,它是用于解析我们的阶层数据的一个框架,对吧?啊啊,先把这个搞清楚,下一个就解析的方向。这些东西吧,真不是靠背,说实话,你真真正理解了,其实就一点难度都没有。嗯。啊,谁能把这个呢,大家去搞清楚了,搞清了以后下面呢,在这里面,这里面API很多,我倒觉得大家需要去必须得备注什么。
45:05
其实你真正的你你把那个勾成的使用给忘了都没关系,就是说我知道有勾成框架来去解析阶层技术啊,它比较厉害,它比较方便,比较简单。你真正要我徒手的写了,我可能写不出来,这都没关系啊,我管你要。真正你把这些东西理解以后呢,到时候你万一忘记了这些API,你再找找不就得了吗。一看到哦,原来是这个类。很简单一个事儿。还有这一些,就这一个,你可以到时候忘了,但是你看这个这个用来对应什么的。对象对吧,对一个大括括号是吧,而这一个呢,第一个是吧,数组它内部是怎么取数据啊,我都很清楚,就是数,其实吧,大家只要真正的是把对象和数组给理解了,你就知道怎么取数据了。根对象根据内取value扭呗,或者说根据K取value扭呗,啊数组呢,是不是根据下边取值啊,那就这么简单,那就对应的方法,那你就记得差不多了。
46:12
我从来不好不去提倡大家去把那些API都给他备注,很多同学每天经常我早上来会问一些同学就老师,哎呀,你昨天的忘又。那些又忘了。忘了就忘了。没什么啊,我就想问你一句,就是说你现在我把那个API展现在你眼前,你还有没有印象啊,你能不能看着这个API用,如果能就OK了,那很好。好,这个呢,我就不再一个一个给大家去复制了啊啊,我把这个简单的给大家说一下啊来。嗯,对于原生的里面有有几个类啊,我给大家写一下,一个叫Jason object啊,一个叫Jason瑞是吧。
47:03
来,它相当于对应的是我们的是不是一个大括号吧,啊,我这里的第一个中括号吧,嗯,这时候也是就它啊,你要把这个搞清楚就好不好点了,下面是高层里面的啊,它就一个工具类。是不是他呀啊,他可以直接去创建他对象以后它有两个方法。一个是toson传什么?大家知道吗?就接什么意思,传一个,我就是把对象传过去,他返回一个什么JA省串非常爽啊,下面一个。有个t from杰森传什么传杰son对吧?里面传什么呢?是不是告诉他类型呢,是不是太好呀,嗯,就太好,或者是class,就如果你返回的是个对象的话,一个一般的对象是反指定class就可以啊,那如果你返回的是一个泛形的集合。
48:08
那个时候是不是就用type了呀?嗯,大家把这个给它搞清楚啊,这就这么简单,没什么太多的东西啊。好,整个呢,就是我们昨天讲的内容啊,今天呢,我们的重点任务就是需要去把图片三级缓存的技术呢,给它应用一下。
我来说两句