00:00
那这个说完以后呢,其实嗯,只是讲到我们课上这样的一些内容,那其实后边呢,真正面试里边,我发现他关于STK考察的还是比较细致啊,那通常这个考的时候。啊,或者就是写个这个面试啊。呃,面试考察的时候呢,比如第一个问题这里边就涉及到,哎,我这呢有一个activity activity1吧,然后呢,是一个运行状态,这个时候呢,我去,呃,通过一个按钮,我一点击啊,就启动了一个HTT2问这个过程当中哪些生命周期方法调动了。这咱们当时也说过这个问题是吧?哎,但关键什么呢?就是我这个一跟二混到一起的时候啊,就是A这个I t1呢,七个生理周期方案我都写了,I2呢也全都写了。那这个洗完以后。它它到底是个怎么过程呢?我们只是说过说这个调哪些,这个调哪些,但是混到一起,到底是它全都执行完以后才执行的它吗。
01:02
嗯,不是是吧,哎,这里边呢,就说说明有一些具体的这样的一些操作了啊,这是我写了一个DEMO,我们可以看一下,哎这个呢,也是需要大家下边得认真去看一看啊,因为面试的时候呢,可能会被问到,哎,我这写了个DEMO。那我就切一下啊。啊,这个it t这个DEMO,这个DEMO呢,我们简单来看一下这里边这个逻辑,呃,Mayi就是我运行的时候呢,它打开的这样的一个界面,这个界面呢,我们先看一下它的这个布局。好,这是这个布局啊,呃,这个布局的话呢,我上面写了四个button啊,这四个button的话呢,分别对应着就是一般的去start activity啊,这个呢是带回调的啊,这个一般的话呢,呃,我们对应的就是这个second,带回调的呢,我也是写的这个second啊,都是它。
02:05
呃,下面这个叫启动一个dialogue来提一提啊,这个呢,就是我们上面这个。啊,Diallo tit体就是我们当时讲安卓基础里边说到的,就是我造改TITT,然后把它的主题声明为一个diallo。啊,另外的话呢,还可以直接呢,去new一个alert dialog。啊,这两个的话呢,我们看看有什么不同啊,生命中学方法调用方面的不同啊,这呢就是我们整个这个逻辑啊,然后下面这几个button呢,分别都是提供的on click这样的属性。啊,那我就对应的单位里边去提供这个回调方法就可以了,前边呢是我们提供的,哎,关于may啊,TD这样的一些生命周学方法,这七个我都写了啊啊1234567啊都有。那这个三个里边呢,我也写了这七个。行,那下边呢,我把它跑一下。
03:02
哎哎,这这起的有点快,我清了哈,呃,当然这块也也不是我们关心的,这个呢,你肯定都知道啊,那就是从一开始死亡状态到你运行状态这几个方法啊呃,掉了掉完以后的话呢,我现在点击一般启动页面二。啊,我已点击看一下。哎,是不是就看到了。哎,这里边呢,是先掉了这个may尔TD on post,然后并没有马上先调onto。而是呢,接着掉里边的这三个,最后才掉的这个。啊,那就是在这个的时候呢,这个mayr t,它目前呢,是先是不可操作了,就是你现在动不了它了,然后接下来呢,这个second呃一顿过来,然后second变成一个可操作了,这时候呢,你这个因为把你盖住了啊,所以你这个妹呢,目前就。嗯。诶不对啊,这个onpos我们说它是一个目前对就是不可操作诶。不可操作对是吧。
04:00
它是不可操作,然后这个时候呢,因为你又来了个三移过来,是不是它就不可见了,嗯,就是这样的啊,就是这个中间呢,是穿插到这里边,而不是放在这个前面的。啊,这个过程要清楚啊,嗯,这是一个它,然后的话呢,我们再返回回去。啊,反而回去,嗯,再做一个什么事呢,大家看啊,我这个may activity里边。嗯,我在这不是我们这个回调在这是吧。这个里边呢,我要是加一个finish。看一下啊加分呢,因为就是它销毁了哈,那这时候呢,又是什么样子呢。哎,像我这这些操作的话,他面试就可能问,比如诶我我启动一个新的,但是我加了个finish操作。那这个回调方法是如何的?啊,这个我们刚才这就说的这个啊,May的一个显示,然后把它清掉。然后我现在点击看一下啊。
05:01
是不是只是多了一个tro,哎,就是还是在最后出现。啊,就是没有什么太特别的啊,你要没加finish呢,就是这个加了呢,就后边补一个啊就OK啊行,那我这呢,一般你要没有,那就把它给注释掉,行这是这种情况,呃,还有一个呢,就是我们说的带回调的启动,OK,那带回调的启动我们来测试一下。嗯。散会。嗯,哦对,因为我们给分掉了是吧,我再重考是吧。嗯,好,这个呢,又重新来把它呢清掉,那此时呢,我们点击这一项啊,你点击。啊,一点击你看这时候呢,就是跟刚才这个其实一样是吧,跟刚才一样啊,然后在这种情况下,我现在点击叫返回界面一,返回页面一的话呢,我们在second里边,呃,我们会去调这个on。
06:07
哎,不是啊啊是是我们在这个。哎,回教方法这是吧,在这里边呢,我们叫set result,哎,就回去了啊,我现在是写了finish的。解分式以后呢,我们一点击我们知道呢,就会回到may尔TT里边继续呢调这个方法。那这个方法里边这不是有一个log哈,那面试的时候,哎,同学们这样问过,说这个方法先执行。还是?还是谁呀,还是这个方法先执行。因为你一回来,你这个may t是不是又可见了,可见可操作了,你这个UN肯定会掉啊,谁信。那就将就。啊,我这儿停了啊。现在我点了点。
07:01
哎,你看这个让你写,你你能不能写出来啊,首先哎你一回去,你首先你自己这个是不是现在不能操作了,哎就是先on p这个执行了,然后呢,很快马上就执行这个made的这个on activity result,所以它要先于on res。啊,这个被问过啊,你你给他记一下啊,怎么理解的话呢,就是呃,我这1ON on on立马就回去调这个方法,这个方法我们通常情况下你是在second里边,是不是有些数据回去要改一改啊。所以呢,就是马上一回去,一回去以后呢,就比如说我们这个may啊,这是你这个second,嗯,马上一回去,我这呢,比如我就像我们原来讲课的时候说到的,这是一个test view吧,这个test view的话呢,你想想我们从may到second这个test view本身这个对象销毁了吗?没有。啊,就是因为你这个整个页面的这个RTT在on create里边写的是吧,你整个RTT对象在,所以这里边组件也全在啊那一回来呢,首先呃,我先调一下你这个组件啊,或者叫这个视图,然后呢,我把你这个内容呢该改改一下就先都改好,所以呢,就先调了这个啊改好了以后的话呢,然后接着呃你呢,变成一个可见可操作了。
08:16
先可见,再可操作。啊,这个时候的话呢,就是只是把你又重新呈现了一下,而不是说我们有同学可能想就我一过来他先看到,看到以后呢,然后再调他去改。有点晚了是吧,所以先改好,然后呢,你可见了,我就是把这个对象呢再呈现出来。啊,所以呢,是先调的这个啊,然后又由于你这个呃,Second的话呢,执行finish了嘛,所以on stop on Detroit,所以通过这个呢,我们也看到了,只要是你这个it里不同切换的时候哈,那一定是先等你这个新的这个东西都先显示出来以后,我是不是才不可见的呀。哎,所以这个要注意他俩的顺序是是是固定的啊行,然后呢,在这个情况下呢,我们把这个嗯,Second activity,我这个finish给注释掉。
09:04
哎,把finish注释了。再来。嗯。启动这个呢都都清楚,然后此时的话呢,我们点一下这个啊,带回调的启动啊,这个也都比较熟啊这样的一些操作啊,嗯,在这个基础之上,我清一下,清完以后我们此时呢点一下这个键。嗯,过一点,我这个second是没有finish的啊,所以它肯定不会销毁了,那问题就是那个页面一那些方法会掉嘛。点一下。是吧,哎,就根本都没有执行,包括on,嗯,On it result都没执行。呃,所以呢,以前我们讲的时候,可能有同学会想说,是不是我这没写分,那是一点那个呢执行了,只是我看不着了。或者说那个就是比如我一返回数据那个text view里边改内容是吧,我是不是一点就已经改了。
10:03
没改,嗯,因为我们发现这个it result什么都没掉啊。嗯,它都根本没有调啊,所以说你这个里边要想去启动一个新的it,然后回调这个时候呢。嗯,这个别给丢了。是吧,这个也得说上啊,没有他的话呢,这个就回不去这个方法了。行,这是我们说的,嗯,关于这个操作哈,就带回调的,呃,刚才需要大家清楚的,然后呢,我们这里边还有两个dialogue啊。Log这块呢,我们也说明一下。选返回。嗯,Dialo的话是这样,它两个对比一下,嗯,这个dialogue呢,我们就是这样做的啊,造了一个activity,然后在功能清单文件当中啊,这个there,那这个activity呢,声明成一个主题是一个dialogue的啊,这首先呢是一个新的activity啊,跟你上边这个second may啊是不一样的啊,那这种情况下我们先清一下。
11:04
此时呢,我们这个页面一呢,就是一个运行可操作的状态啊,此时呢,我点一下这个按钮是这样的啊,那我们很清楚的知道这个我就没有设置它的审命方法啊,我们就知道了,May是一定会教这个了。因为你目前呢,是处于一个不可操作的。对,他就要掉这个,但是你还可见啊,所以呢,Onto不会掉。嗯,行,嗯,然后呢,我们点一下这个返回键。啊,那你这时候呢,又可见了,可见嗯,本来就可见啊,你又可操作了啊,所以呢,就执行on resume。这是这个事儿啊,那现在我们想测试什么呢?哎,大家看,嗯,我在这个妹里边呢,我最后还有一个八层。啊,就是最后这个八层,这个八层的回调呢,是他。啊,那就意味着我点它呢,这里边起了一个aler了。啊,你要从这个名字上看,你这也是个dialogue,你这也是个dialogue,那这两个有什么不同呢?或者面试的时候问到你说我起了一个aler dialogue,那么此时啊,你启动这个dialogue的这个activity,它是一种什么状态呢?
12:10
哪些方法掉了呢?是吧,一问有。又是个盲点是吧?没掉。是吧?哎,它竟然没有掉啊,也就是说这种情况下,你看着好像后边这个变灰色了,诶那它是不是就还可见可操作了,陈老是是吧。是这意思吧,所以这个时候呢,你把怎么理解呢,就是这个alert dialogue呢,它仍然属于我们这个activity的一部分。就是它两个是一个东西啊,你这个你能操作,那你其实你现在操作的就是这个ST。啊,而上边这种方式呢,呃,这种方式呢,你是起了一个新的体。这俩不是一个activity啊,而这个呢,我点击的时候,这还这个就属于你这个it t的一部分。
13:03
所以仍然是一个目前可运行呃,可操作的一个状态。啊,你看我们这里边啊,这个我们的,呃,这个操作啊,这个操作里边呢,你看这个builder这个位置啊,Controlrl的斜杠是需要写一个contest啊,那contest的话呢,我们也简单说过了,有三个具体的子类了啊,一方面呢是activity,就就好比说我一开始写的this。那除了这次之外呢,我们是不是还可以写这个application?啊,那application的话呢,那我就可以这次点get application contest。啊,它返回的实际上就是我们的FP,按我们的IP啊。那这显然是用了两个不同的contest子类充当的。啊,那这个位置呢,我们就严格的要说明一下,使用这个结构是不对的。嗯,你看我们运行。
14:05
诶,这时候呢,我已经启动起来了,然后在这个情况下呢,我点击一下最后这一项一点击挂了。嗯,这个呢,你可一清。哎,他就报错了。哎,在这个84行点击一下,哎,就是我们这一行。啊,这呢,你看他写的什么I tookn now啊说it's not for an application,哎说这个时候呢,你是不可以添加到这个窗口上的,也就是言呢,就是这个位置哈,呃,我们上午也讲到说我ipk现在作为一个整个应用从进程开始创建到消往这个过程中的一个容器了。啊,你可以保存很多数据,让各个htt啊等等都可以用,但是有些情况下呢,是不能用一个通用的了啊,那这个位置呢,只能够用,这次也就只能用我们的activityt t呢,就是它就属于这个activitytt的一部分。啊,所以呢,我们刚才呢,去启动的时候啊,在这里边我点最后一项启动的时候呢,发现根本就没有调离it TD生命,注意方法,因为它就是一个。
15:05
啊,你就这样来理解就行。啊,这是一个啊,嗯,还有一个什么问题呢,就是嗯,我现在这个it属于一个运行状态啊。我这个模拟器呢,有有点先天缺陷,就是它没有这个熄屏的。是吧?我这没有西屏的啊。嗯,那那我这个我就这个就不好演示了,就是熄屏,就是现在是个运行状态,我一熄屏这是个什么意思。有没有生命与方法掉?大家按一下那个开关键,一按不就屏幕就关了吗?是吧,那那怎么着。嗯,我这个我看看这个啊。
16:02
嗯。行,这不是这个界面吗?行,我就先这个状态,我现在我点一下我这个屏键啊。看到了吧,我我这个屏幕已经黑了啊。啊,这这不黑了吗?黑的时候这不就能看到吗?哎,它会调用on跟on stop,就是你这时候已经也是。不可见不可操作是吧,你熄屏的时候,你按屏幕肯定不好使,所以呢不可操作了,然后呢,你也看不见了。啊,所以onto啊,就是这个呢,也也关注一下,好,这个就是我们翻来覆去的说了一些这些方法啊,什么时候掉。啊,这里边儿这个情况挺多的哈,刚才就是演示了好多这个情况。
17:03
啊,这些这些问题啊,这就过了。
我来说两句