00:00
然后接下来的话呢,要想学我们现在的这个项目的话呢,或者我或者说我们在这个工作当中,这个项目里边啊,那基本上可以断定的就是都会包含一些自定义空间了。我要自定义视图了啊,因为系统给我们提供这些呢,无法满足我们的一个要求啊,一方面呢是无法满足要求,比如说呢,呃,我们在讲自定义控件里边说到了这个,呃,快速索引这个栏啊,在这个手机应用这个层面呢,比如说汽车之家啊,或者说嗯,找联系人呢,呃,这里边儿呢,从A到Z。啊,这个控件或者这个视图系统呢,并没有帮我们去提供啊,那你这时候呢,想做这样一个事情啊,比如我点到这个H的时候,呃,这里边呢有哎,比如联系人啊,就快速的定位到H。啊,就是比如说姓黄的呀,嗯。好像就有姓黄的是吧。哎,想不起来了啊,就是哎,把你这个H这个调到这个开头,这是吧,哎,就属于快速索引栏,那这个呢,就是系统没有的这样的一个呃组件,那就是我们需要呢,自己去自定义了啊还有个情况呢,是为了保证我们这个应用界面呢,它的一个统一啊,比如说有的时候呢,你设计这个应用呢,是有一个统一的一个色调了,呃,然后呢,你要用系统的一个控件呢,觉得好像不太搭,那这时候我们就自己去诶创建一个控件啊,这时候呢,这个控件的颜色呀,布局呀,你可以自己去设置一下。
01:24
啊,这个都可以啊,这就我们说的这个自定义控件啊,自定义控件里边呢,比较重要的一个内容呢,就是关于view啊及啊view的。生命周期。那相当于这个内容的话呢,需要大家比较熟悉啊,就是你要是需要创建自定义控件的话。哎,那这个view的生命周期里边的一些方法比较清楚。啊,比如说我们说这个view,它的整个这个过程啊,嗯,涉及到哪几个过程啊。回忆一下。
02:00
首先呢,是不是有对象的一个创建。啊,那这个对象的创建,我们算是有几种常见的方式啊。嗯,这个回头我们还是每天这回头一会说这个事情啊,到时候还得复习一下这个内容啊,前面讲完以后,后边忘了,这这不行是吧。诶,关于这个未有生命周期,首先呢,涉及到他对象的一个创建。常见的方式应该有两种。对吧?哎,对一种呢,就是我们在这个插包当中啊,你自己定义了一个view,比如说啊,我们定了一个view,然后你在布局文件当中,你是不是把那个以全列名的方式用了一下这个标签啊。啊用这边,然后这个属性呢,你也可以去定义。啊,定义一些属性啊,比如说你继承的是view,像宽高这些属性呢,就直接就继承过来可以用了啊,你要继承的这个,比如说test view test view里边特有的这些属性,比如说test呀,Test size啊等等,哎,这些属性呢,你也可以去用,当然了我们还可以是不是自定义一些属性啊。
03:06
那这个应该我们讲自定义空件的时候应该提到过是吧?啊自定义属性啊好这样呢,是我们一种使用方式。那另外一种呢,我们对象的创建还可以怎么样啊。呃,是不是就直接在你这个大代码层面,你直接扭一个。啊,那就跟我们自己有一个test view不一样嘛,是吧?哎,我们可以扭一个view,那你当然也可以一个自定义的一个view了。啊,其实说白了,你看我们这里边讲的这个,跟我们前面讲的,比如说broadcast receiver。啊,比如说fragment。这个讲过,要有两种注册方式。对吧,呃,一种呢,也是这种叫静态注册啊,这个呢叫动态注册,就是要么布局文件啊,或者叫这个这个嗯,这个功能清单文件是吧,要么就是账号代码。啊,这种呢,一般都叫静态的这种动态的。
04:02
是不是也是这样?啊,这个呢,我们说你在哪里边去用啊。都是常量,是功能清单文件还是布局文件?这大家这个怎么感觉都忘了呀,这是我讲的是吧,只要是阿福老师讲的我就可以乱阿老师都没教好是吧,这我讲的啊,这不是在布局文件中用嘛,是吧,这个这个内容都得熟悉啊,你这个熟了以后你写代码你看更方便,要不有的时候你。反应的比较慢啊,那说到这些内容哪些不熟的,你比如我们写这个项目用到了,那赶紧晚上该看的看一看啊。这个不能,这个前面学过了,后面该扔的都扔了,最后轻装上阵是吧,面试的时候呢,就是嗯,一片空白是吧,就麻烦了啊。
05:04
哎,这个fragment的话呢,这不是你,嗯,你对应的也是有一个用户的一个界面嘛,那你涉及到界面嘛,布局文件中去用啊,这个broadca receiver的话,人家是个组件啊,所以它是写在功能器代文件中的啊,那fra呢,我们在布局当中可以用,那就是属于叫静态加载。啊,那你也可以呢,在账号代码层面直接new一个fragment啊,就是动态加载。啊,也是这么两种方式啊,所以说有些结构呢,呃,涉及到对象的创建啊,涉及到什么样的,就是要么静态要么动态,也也出不了什么新花样的啊,所以这个view也是一样啊,你可以呢,直接在你的布局文件当中去用。啊,你像这个fragment它其实本质上也是提供了一个framely out啊,所以也就像一个框架一样啊,只不过这个是系统提供好的,这个是我们自己定义的啊,所以呢,它有两种方式啊,你也可以呢布局中去用,也可以呢直接扭一个啊。好,那这个对象的创建完了以后呢,涉及到一个什么过程呢。
06:05
这样照好了。哎,下一个过程是不是该测量了。是吧,测量完以后呢。绘制啊,上来就绘制啊。那布局一下。布局完了以后是不是才绘制啊。对吧,你你你想一想,这个呢,是一个画布,你呢就是。那个蒙娜丽莎谁画的?只是达芬奇。达芬奇画的哈,你就是达芬奇是吧,你现在站在这个画前面,然后呢,这个蒙娜丽莎,嗯,其实在在咱们现在这个审美观点来看,好像长得其实不太好看是吧,但那个时候可能人家觉得就挺漂亮的哈。然后呢,他就坐在这儿了,然后他就是这个空间。啊,那你现在你站在这儿,你一般怎么画呀,你不得先有这个对象吗?你不能脑子里边想着去画是吧,也都是这个是叫什么。
07:03
实物派的不是这种抽象派的啊,那你看到他了,说明这个对象首先有了啊,所以对象呢得先造出来啊,其次的话呢,呃,一般你看这个画画呢,不知道大家见过没有啊,他一般呢,就是拿着这个手里拿根笔是吧,他先这个笔画一下是吧,大概看看这个轮廓是什么样子的啊,所以你可以就诶简单理解为这就是实际上在测量。啊,这个你要画的这个人物的一个基本的一个比例啊呃,上半身的比例,下半身的比例,脑袋怎么样,鼻子眼睛是吧,一个大概比例情况啊,那测量完以后呢,下一步。下一步不是就直接摁到这,就开始从头开始画了,一般咱们小时候画的话都爱这样啊,就画画画,画完以后发现就这块画了个空的。啊就就比较不合适了哈,那应该是诶比画完以后呢,诶先应该看一下你在整个你这个画布上应该大概摆放在什么位置上啊,就是你看有时候他们画的时候先画个那个那个大概轮廓是吧。
08:00
哎,就是大概勾勒一下啊,诶大概这个就是这样,哎,这样你发现占满整个这个画布了,哎,所以这个呢,你可以看到就是一个布局,哎,我应该把这个视图放在这上面,我怎么去放啊,摆放这就属于一个布局的过程。啊,那估计完以后接下来好,那下一步呢,也就就画这了啊,那下一步就开始一点点一点点开始这样去画。哎,这不就跟真实我们画画其实是一样的啊。嗯。好,那绘制完以后还有什么呀。嗯,比如说我们刚才说的这个快速索引这个栏哈,现在我画也都画到这上面了,那你是不是现在希望点击它的时候呢,真的能够有一些响应的。啊,那你这里边儿涉及到是不是就是这种涉及到事件就是事件机制的是吧,事件的一个响应啊。嗯,希望有这样一个响应操作。啊,现在你触发它的时候呢,它得有一些反馈了,你否则的话,那就是基本呈现一个效果完了啊,没有任何的响应啊这样呢,我们还提到是不是可以自定义一些监听了。
09:06
啊对啊,因为你这个自定义,自己定义这个控件的话,你希望他在什么时候触发什么样的操作,你可以自己来决定啊,自定义事件的一个响应啊,那最后呢,是不是还涉及到一个死亡的过程吧。啊,死亡的过程啊,比如说你这个控件所依赖的这个activity呢,销毁了啊,或者你直接就从你这个控件呢,所在的这个没group当中给他给木掉了啊,他就都死掉了,这个死亡的过程啊。啊,整个呢,是属于我们讲这个自定义控件当中需要大家非常熟悉的啊,这个是要非常熟悉的view和view的生命周期,刚才提到这样一个过程,呃,以及呢,重要的就是这几个过程当中涉及到哪些方法。哎,那些方法重写的时候呢,呃,一般怎么去写做什么,哎,这个要清楚。啊,这要清楚。比如说呢,我们像还提到那个view group。
10:01
啊,这里边我说的是view了啊,哎,View group作为它的一个子类啊,我们在view group的就是你对象创建以后,它是不是对应的也会调用两个方法。就是自定义控件这块,就是我们这样创建以后,我是不是可以在这个回调方案里边去获取它的是不是子视图啊。对吧。你可以给每一个子势图,是不是都给它做一个示例画。嗯,将自定义控件里边,我们看一下这有一个这个啊。大家这块不熟啊。嗯,生命周期一直我们说的这几个过程里边呢,在一开始对象创建以后,是不是有两个方法啊,Unf finish inflate啊,On attached to window啊,这里边有这两个方法,然后呢,呃,你在现在这个方法里边,我们都可以获取它的子示图嘛。对吧,哎,这个清楚啊,有了死视图以后,你可以给死视图是不是就决定,哎,我把你放哪,你就可以在这个on量的方法里边,是不是给它重新的做一个定位啊。
11:00
就这样吧,比如说你这是一个自定义的v group,我上来我就让我这个空间呢在这边。啊,然后这呢有一个,嗯,你这可以做成这个menu,然后我这一划它就出来了。哎,这就相当于我一上来就把它on layout方法时候,我把这个child,哎,我就让他,哎layout方法调在这。嗯,那你获取这个视图呢,就是在你上边的这个。On finish INF,或者是on attached to window获取到啊,这些都得清楚。嗯嗯,就是这些呢,这是属于我们前面重点讲的哈,就刚才说的这些内容的话呢,呃,应该说比较简练的回顾了一下我们之前讲的这个内容。啊,我说到这些里边,你看有哪些不熟的,那那都是算你的盲点哈,下来该补的就给补一下,然后第四个点呢,就是需要了解外部开发的相关技术。啊,就是前边应该是柴老师是吧,哎,我们讲完扎va基础以后,是不是讲了三天三天吧。
12:00
三天两天。两三天是吧,这个外外部相关的这个技术啊,涉及到这相关的这些技术的话呢,虽然说我们不是做后台的啊,但是呢,这个也基本的要熟悉跟后台这个交互。啊,你在公司里边你写客户端,你还是要跟他联调的是吧,诶跟后台你得这个接口啊,得得通一下是吧,得碰一下看是不是真正的都能通了啊才可以啊包括呢,我们在这里边也讲到关于这个circle的,呃,基本的这个操作啊,增删改查呀,创建表啊,哎删除表啊,那这个你得汇报。这个你说我不会卖circleq,好,那my circleq也用不着你来操作啊,这呢是后台呢,是跟my circleq去交互了,那你本地也有一个circle client啊,Circle的话呢,你涉及到增产改查了,不也得会吗。哎,所以说呢,这个搜狗语句是要会的哈。啊,以及呢,我们跟后台去交互的时候呢,遵循的HTP协议啊,涉及到关于请求啊,响应啊,这一说就多了啊一会呢,我们再来具体的来说,这个事情就是这块呢,需要大家来了解啊。
13:05
啊,我这标的是一个叫了解啊,就是前面一节班同学在面试的时候呢,就是人家也问到过啊,说这个呃,后台这块相关的内容,你会吗?做过没有啊,熟悉吗?啊,一般同学一般一旦问到这个问题的时候呢,就是直接就说我没做过,我也不会。啊,就直接说不会就直接就这个给给解死了哈,嗯。实际上呢,他不是说让你过去以后就做后台的。啊,这个你得清楚啊,就是一般有的是什么呢?做后台的,可能后来慢慢的呃,往前台这边去转啊,反正他也得有一个过程。啊,那你现在是做前端的是吧,我们做客户端的,然后呢,问你后会不会后台,他不是说你招过来以后呢,把你当两个人使是吧,既写前端又写后端,你放心也不会的啊,他问问你呢,就是说诶你涉及到跟后台交互了,如果你懂一些后台这样的,呃,两个两拨人嘛,是吧,你在这个交互的过程当中呢,有哪些问题你会就更清楚一些啊。
14:03
所以说我们这块前面也讲过了,然后呢,再一个就是通过这个项目的话呢,大家再熟悉一下我们后台这个交付的这样整体的一个流程。啊,这个前几天我就把这个后台这个代码也重新写了写哈,就希望呢,我们是通过这个项目的话呢,就大家把关于后台的一些逻辑哈,其实说白了跟我们前端这块呢,都是用Java代码来写的啊,你没什么特别难的啊,就是人家问到的时候呢,是可以说一说的啊,常见的这个后台的这些组件有哪些,它的这个业务流程是什么样子的,是可以描述清楚的啊这个要贵。人家在问到的时候呢,你要能够给他基本讲一讲,虽然你没有做过,但是你可以说的很清楚。应该能达到这样一个地步哈。啊呃,相关的,如果这些内容的话,没有这个就随这下载啊行,就是刚才呢,我们是把这个基本的这个知识呢回顾了一下。啊,需要大家你这哪些内容不熟的啊。有些东西我看大家掌握的并不是太好,这个你得下去得该复习得复习啊,那另外一方面正好我在这也写了就是。
15:07
嗯,今天就算了,周四周四咱们上自习,然后周五,呃,周五的时候呢,嗯,每天中午的这个演讲就先替换一下。啊,替换一下就换成,呃,我们就每天中午呢,就是分享这里边儿的复习内容。啊,但是这个内容的话呢,就是先你得。两个同学来哈,就是你比如说这个,咱们就周五讲这个。嗯,周六讲这个,然后周日休息,然后周一讲这个啊,周二讲这个意思往下顺啊,中午演讲的时候,两个同学说你可以呢,这两个人就是岔开说,比如说这个同学说这几个点。呃,另外一个同学呢,说后边这几个点,但你俩这个量不能差太多啊,这个就说了两分钟,那个说了十分钟啊,尽可能的就是均匀一点。啊,均匀一点,就是把我们前面讲过的内容呢,你给他总结一下。
16:00
啊,但是这个还不够啊,你还需要去在网上再查一些是吧,反正整个就是你要既然给大家分享,你就别管,仅限于说我们讲的这个内容啊,嗯,这个网上比如还有一些像这个it生命周期,哎,我们也讲过了,然后呢,生命周期这些方法里边,呃,面试里边也经常会问到,经常会把什么样的操作写在什么样的方法里。啊,比如说on hot方法呀,或者这个onto方法呀,我们平时也很少去用是吧,那这个方法里边平时都写什么样的操作呀,都看一看。啊,你们先分享,分享完以后呢,我再给你总结啊,啊这个呢,给大家都发这个思维导图了,你都能看到,我就不用再单独给你去发了。那就相当于我们讲这个项目过程当中也肯定要用到这些内容了啊,就需要大家去复习一下,像这个刚才大家就不太熟悉了啊啊这是我们说一个,哎,我们这个项目哈,需要这个储备的一些基本的内容。
我来说两句