00:01
今天我们要学的叫用户界面。这个用户界面学之前呢,我们先来去看一个东西。啊,先把这个东西解决了,我们下面再去啊。啊,我有这样一个工程,大家看啊,这里有两个类似的。啊,选择它上面的这一个呢,是有异常的,我们来一起来看一下。我把这个工程呢,给它导进来,看我怎么导啊import。啊,你可以选择Android工程。好,复制刚才路径。点击刷新。大家一定要记住。把它勾选上。嗯。好,Finish。好,我把这个给他干掉啊。来,我把它启动一下。这个应用呢,现在有会运行起来会出问题,我们现在要把这些问题呢,一个一个解决掉。
01:06
因为大家很多同学现在。进度非常慢,学不动,就是因为碰到问题了不好解决。我们就专门设计了几个问题,我们来看一下。这这里面一共有三个问题,这三个问题呢,都是大家肯定碰到过的。所以我就统计一下,看有些有哪些问题是大家碰到过的啊,我说现在运行一下。是这个吗?不是是吧,把上面那几个都先给它关了。开着就是破坏来。运行一下。好了。是不是有些同学一看到这个,嗯,老师我好怕呀,是吧,就看到这个了,对不对,好了,甚至有些同学老师我好怕怕啊,来看一下啊,现在我就跟大家说一下,如果出了这个问题啊,其实我比较喜欢的就是看到这个红色的比较开心,说实话最怕的是什么呢?啥日志输出也没有,就是问那个效果出不来。
02:23
那是最可怕的。啊,像这种问题一般都能解决,我们来看现在的问题,就是如何来去看一场是吧。啊,我把这个打开。好。这里面就有一个问题,就基本常见的异常的一个基本的分析步骤。啊。那。首先呢,大家尽量如果出了异常以后,尽量把它全屏。这个不再强调了,对吧,全屏去找找什么东西了,最好去能够去找到壳子的BY。
03:01
或者卖什么意思啊。是不是引起这个导致这个异常的原因呢?就什么类型的异常导致的,对不对啊。这是这一个是最好能够找到扩的BY,但有些异常它不会打印扩子的BY,那你就找上面一点的。其实找异常一般从下往上的,我们大家大家有些同学可能是从上往下找,但我习惯于从下往上找。因为下面呢,一般会找到啊,扩子一般都在下面。啊,如果有的话啊,打开来。说一下。在look中啊。从下向上走,嗯,尽量找到什么呢?扩BY这个扩子败会说是什么异常导致的。
04:02
啊,来会,嗯,显示。哪种异常导致的?好来,我们现在就看是什么异常导致的,我也刚才说了,我们来看一下。是什么意思啊,空指针异常,我大概知道这是空指针对吧,那空指针什么情况下会出现空指针异常。它的原因是什么?有没有希望?啊。调用什么?哎,刚才有个同学就调用这个,这个字很重要,调用什么。方法。调用什么方法啊,对象的方法吧的方法啊,或者是属性也有可能对吧,那调用对象方法属性大就会自然就会控制的吗?但对象为什么那。
05:08
对吧。啊,你说这个我也看得懂啊,但是啊,真正来接着我们来讲,这现在我知道了是一个控制针吧,下面我跟大家说啊,我们下面知道控制针有用吗?那还不够,那这么多代码,那我也知道雷行是控制针呐,对不对?下面。找到。啊,出异常的累。及行号。这个类一般是你自己写的吧。肯定是你自己写的,对啊,好来看一下。怎么个找法呢?其实很简单,Quarter派的下面一般就是。你一定要找到你的那个类,看到我们这不找到了吗?Main activity哪个方法?Create方法多少行,31行。
06:04
好,此时此刻,我不会自己去找。点击它。嗯,下面要说一个是点击进入这一行。对吧,好了来,我因为我刚才写了一些可能有变化,我再运行一遍啊,大家看到我因为现在刚才我不写了很多东西吧,可能有变化,我看刚才那个那个位置有没有变啊。没事是吧,好,我们来看一下。嗯。这行,好了,从下往上找,找到扩子的半。找到我们的类的某一行。点击过来。好,现在就要分析。你说谁的嫌疑最大呀?
07:01
谁?刚才说过了,这就是还是你,刚才我看着我这句话好像有所有人都知道啊,调用对象的方法和属性,但对象为空,这一看都能理解,但真正到你找的时候,就这句话,你说谁有空啊?肯定是他为空嘛,他不可能为空啊,对不对。因为刚才不说过了吗,调用对象的方法和属性,但对象为空。不就他吗?那他为空母下一步该怎么想呢?明显我这里赋值了呀。那说明这个时候你就推断了,这个推断是应该正常的一个推断,我这一个找到的是空。明显上面负值了,对不对,好了,那下面我就要看了。这个ID是不是找的不对呀,好啦,我们点过去。大家看现在我们是不是找到second这一个布局啊,而我们现在加载的是什么main。
08:06
对不对。所以明显不对吧。好。啊哎,大家写个哎,等一下啊,来写一下点BTN什么。May start对吧?啊,这个是需要你有一定的分析的,这个分析能力是建立在你对这些基本的语法有一个理解的基础上的。好,来看看啊。我把这些呢给它清掉。好,来试试。嗯。还报错看了啊,他是不是又出错了。我们来看一看。来找找裤子的卖。找到了吧,叫一个什么class exception类型转换错误,他还说了将什么类型转换为什么类型。
09:06
View转换为。那这个事情大家看啊,还是雷行的,我给他点过去吧。这一行39行点这个。就是就是我们刚才改的吧。对的呀,对吧。好,下面这一个是吧,不是我们改的这一个,这一个来看看我们现在是不是长着A8,那说明这一个是什么。是不是实际上是text you啊来,我们就来看一下CTRL键。点这一个。这实际上是个什么嘛,我们要加的是不是他呀。人家说老师你这个写的不对呀。这不故意的吗?啊。那正常的写肯定不会这么写,那我要一这么写,你看不就看出来了吗。
10:01
是应该写它吧,嗯,对,就应该写它,嗯,这个地方来说一下class class的一个三是什么。内心转换错误对吧。这个啊,是应该大家能很快找出来的啊,内心转换一下,好,来,我改了吧,改了再试试。走一把。清理一下。诶,好像没做了吧,好,我们还有界面二。来试试点一下啊,又出问题了。来看看。说俺找裤子外看,找不找得到。从下往上的有货之外吗?没有,那我就看上面的这一个。叫什么异常?你一定要能看出异常的这个单词,能看到意思啊,叫ACTIVITY1EXCEPT。
11:02
像什么没有找到的异常?对吧,好,它后面还有一句话挺重要。就这里面have you。你是否有什么生名词activity在你的。Manifest的文件里面是吧,那我们就去看了对不对。嗯。这一个原因又是什么呢?没有注册。Activity啊,有人说你看啊,这是activity,看我注册没有。注册了吗?对吧,这不注册了吗。那是目标,它不是目标吗?啊,对啊,你可能是没注册,甚至很有可能是注册错误。注册的不对或什么呢,注册。
12:04
不正确。是我有人说我一个单词一个单对,我看看哪个人有问题,我从来不干这种事,那我先把他干掉,干掉以后。我写上这个肯定正确的。这样肯定是没问题的吧。嗯。来试试。你们刚才看到的,那有问题吗?是不是单子解决问题啊。休克呀。啊,这样就可以了呀。对吧。没问题。啊,刚才是这个单词写的问题,把O写成一是吧。好,我来统计一下,刚才我这里面一共出了这样三个问题,一个问题都没出现过的,举下手,就这里面一个问题都没出现过的。
13:04
我看有谁。有吗?啊,有牛人啊。啊。
我来说两句