00:01
给大家再介绍一些关于仕途的生命周期的一些知识,我们来看一下啊,挺有意思的,这个东西我们来看。它有一个什么样的生命周期呢?大家可能这里面看得见。从对象被创建。啊,接着就进入三个重要的流程。测量布局绘制此时才会显示出来,绘制就在界面上显示出来嘛。好显出来以后呢,我们的人用户是不是就会对这个视图进行操作呀,他就要进行一个事件处理。最后有一个什么死亡?啊。好。来我们现在呢,来一点点看啊。首先来看第一个。啊,创业。啊,对象创建呢,有两种方式,这两种方式咱都用了。
01:03
第一种。是另一个对象,刚才咱不用了吗?另一个视图对象对吧,还有一种呢,是什么呢。加载布局文件。对吧,OK,但如果是加载布局文件的形式,你的那个制定类是不是要写成什么。全类名标签吧。能理解吧,好。来啊,我们给大家写一个。譬如说举个例子,我呢在这里面呢,写一个类啊,我就继承text you吧,My text you。G等于X。过了。下面这个是吧,My you好了,在这里面呢,我们有几个方法。各种方法需要写一下,一个是它啊,这个我们可能用还有一个。
02:04
好。对吧,这里有两个,那什么时候用第一个,什么时候用第二个呢?非常简单,66创新对象用第一个。啊啊,下面这个什么时候用呢?啊,布局文件创建对象,那布局文件创建对象是我创建的吗?是我调用的这个方法吗?那就不是了,你想啊,如果是布局文件的形式,我就不会去调用它了啊来,我在这里面呢,写一些打印信息,让大家能看到。这里面呢,传的是一个啊。来把这个里面用一个双引号给它引起来。好了吧,好,下面呢,我们再来整一个。
03:02
啊,给它移动一下。而此时呢,他这里面多了一个。是不是吧。好,那这是我自定义的一个视图啊,我们现在也不是想实现什么效果,就想测试一下它的生命周期的方法的调用。好。来,我把这一个呢,给它先保存一份。放了以后我在这里面去做啊,把这些都给它干掉。好了,下面我们要显示我的text view,我可以用上面第一种方式来创建啊,刚才我们也做了,我们来做一下怎么做。My tax的view啊,My text view啊,Text view得另一个my text view传一个this接着干嘛?
04:09
是不是设置一下文本吧,这个好整啊,3W点硅谷点com好了下面。是不是显示出来,怎么样能显示出来呢?Set content view传的就是我的text view。对吧?嗯,这种方式我们来看一下能不能显示,这个应该是轻而易举的事,刚才我们也做过了。是不是可以啊,好,这样也可以。好,那下面我们就来看一下啊,在这个里面,如果我用这种方式。看这里面有没有概念叫创建对象,有相关的一些流程方法。
05:00
第一个方法,那肯定是构造方法了。对吧,构成方法有两个,一个是它一个它现在我们用的是上面这个吧。看下面啊,下面是还我们还没用的,等会给大家证明啊,看这里。现在有两个,一个叫unfinish in flight什么意思?当完成in什么意思,是不是加载布局啊?嗯,这一个方法只有在布局的方式才会调用,那你现在看一下,我去重写这一个回调方法。大家说会调用吗?嗯,我就去重写这个方法。会了呀,会还是不会啊,对吧,好,还有一个方法比较有意思。
06:00
叫UN attached to window。什么意思?单attach。关联衣服,衣服到哪去?Window对象上面好,我们把这一个呢也给他拿上,它也是我们对象创建以后必然会经历的一个生命周期方法。好了吧,好吧,来,现在我们来去看一下,看看是一个什么样的过程啊走。大概。先是调了我这个只有看太参数的勾兑方好吧,接着。将attached to window。啊,Attached to window是说明我的对象关联到window对象上了啊,但是我是没有执行它呀。我怎么样才能让他执行呢?
07:05
就是在这里面我们用什么呀。用我的。不群内。看到了吧,啊。你们说外面可不可以没有他了,可不可以?可以。没有问题。给他干掉。嗯,秘密空间不有吗?别的可以不要啊,有这个就差不多了。OK了吧,嗯,好,来看着啊,那如果这么写,我不想用这种方式了,那就换一种方式吧。来看它。我这样吧,我把它们呢给他。注意一下。啊,这是我们的第一种方式,就是创建对象的方式,去等到还有一种就是我们最常用的吧,Set content of you r点,六点。
08:11
这种方式吧,好,我们来看一下是一个什么样的效果。大概首先它是不是调用的是两个参数的构造方法呀。接着。是不是说我的这一个布局文件是不是加载成功了呀。接着再把它关联到是window对象身上去啊。嗯,大家能看到这样一个是啊,OK。二。在这里面呢,啊,看到这里我们把它写一下吧,只有啊布局的方式才会调用啊,这个是不是所有方式都可以啊啊,两种方式都可啊,就是无论六还是布局都会调用方法,嗯。
09:19
好,大家看我现在来用,你说我用另外一种方式,我不还有一种方式吗?你说用另外一种方式,它能不能整,还有这样一种方式,就是怎么做的呢?点in flight,我们都给大家演示一下啊,来个它r.layout.activity me。这是不是在加载取文件,是不是其实也是啊,啊也是接着再设content view啊,传一个view。诶,这两种方式好像有一点小区别对吧,但实际上都是加载布局文件吧。
10:01
嗯,好,来看。大家看看。是不是也一样啊啊,那可能有人在问了,你说我去重写这个,重写这两个方法一般都做什么事情呢,对不对。你从小总得干,不能总是打印吧,打印没什么用。总得干一件事。那干些什么事情呢?主要现在咱没这种需求,说一下吧,简单的。啊,重写它。一般啊,出现它得到用于得到子对象。那对于我们来说就没有什么太大的用处。为什么呢?咋没孩子?
11:00
对吧,如果有孩子,那我就可以去取孩子的对象,来操控孩子对象的布局啊等等一系列的,只是我们当前用到啊,你先你先了解一下这个方法,到时候我们用到的时候呢,再跟大家去用一下,大家都明白了,包括下面的也是啊。我们可以选择上面这种方式。如果你选择它。必须用什么?是布局的方式啊,这个大家要要知道啊,下面这个也是一样的,也是可以用的。好,还要跟大家关。说一个事情。大概。啊,也是中午有一个同学问我的一件事,这里面呢有一个安正方法。是吧,安瑞这种方法我们以前怎么说它,它什么时候执行呢。或者它的它有什么特点。是不是只有经过了此方法,我们的界面才可见可操作呀?那就这么说的吧。
12:04
好了,嗯,那行,那我们呢,在这里面写一个打印信息。这是uns方法啊,我故意写个I吧,跟它颜色不太一样。嗯。没有运行吗。啊,已经运行了是吧,来给它退出去。找一下他。来看一下。我此时在看的。我是不是在这个中间就执行了V怎么样。此时你看我的对象都没关联到窗口对象身份上去了,对不对?我的视图是不是还没关联到窗口上去,那就更别说我们后面的什么测量啊,什么布局啊,什么绘制啊等等一系列的操作了。
13:15
说这个事情是想为了说明什么呢?就想为了说明大家上午的时候。我们去得负视图的高度跟那个右下角的坐标的时候。不是得到都是零吗?那为什么都是零呢?对吧,就为啥就是就就得是零,这个是大家需要去知道的。你看我们在M括里面取的时候,这里面得到的值都是零对吧,也就说得不到视图,现在是不是还没有宽高啊,没有它的那个坐标,也就没有宽高,也没有坐标,那为什么没有坐标,就是因为此时此刻我的视图。
14:04
还没有经过他下面的生命周期呢。那哪来的狂高了?对象才刚刚创建对吧。根本就没有。所以说我们此时是得不到的,得不到就零。对吧。嗯,这个需要去知道一下,就是这个补充。啊,才会进入下面的流程对吧。那也就是说你在前面呢,是得不到视图的宽高的啊,需要去啊知道这一个是。
我来说两句