00:02
这里面呢,我们要做一个小程序模拟简单模拟下载啊什么意思呢?在这里面呢,我们界面里面就有一个button button里面的文本呢,是下载好,我点击这个下载。会有两个变化。哪两个变化大家看啊啊,第一个是会显示这样一个小的文本小提示,这个小提示会过一会就什么自动的消失,说开始下载点点点啊OK好,还有一个变化,这个button的文本有变化,好看就这么多。啊OK,如果你提前学过了,你会觉得这个东西太简单了,但是如果你没学过,就是还是要写一下的好来说一下主要涉及到技术点有哪些,第一个应用的创建和运行,大家会还有一个界面的布局啊,怎么样去布局定义出来,如何加载这个布局。
01:12
下面一个点击事件监听如何来添加?最后。就是透的小文本提示怎么来做OK啊,要做他们呢,涉及到一些API,嗯,给大家把这里面整个看浏览一遍啊。那首先是activity,它是四大应用主件之一啊,再一个呢是R类,接着是view,或者叫。啊,还有一个在内里面有一个内部的接口,我不知道大家以前有没有学过这种语法啊,叫内部接口。你们是学过类不类是吧,那一样啊,你可以把接口理解成为一个特殊类就行了,对不对,OK,好,下面还有一个叫。
02:07
OK,来activity有个方法叫他这个已经跟大家简单说过了,我们要在这个方法里面做什么试卷。我们要在这个方法里面至少要做一个事,就是加载什么,是不是加载布局啊,啊,你要去加载布局OK,好。下面来看看这里面有一个怎么加载布局呢?Serve content of view就是加载布局的,它还有一个方法,对意思这个方法大家应该能理解,Find的view by ID,根据ID找到它对应的什么视图对象是吧?哎,我问大家,在我找的时候,在我找前你说那个对象在内存里面是存在还是不存在?我这个找是创建吗?不是,是本身它就在内存里面啊,对不对,只是说我是通过那个对象的标识ID来找到它的吧,OK,这个要清楚啊,OKR文件里面有一些啊,比如r.normal就找图片的啊,那找布局的啊,ID是找某一个ID视图的,OK,还有string,找到某一个字符串的名称的一个值。
03:31
啊,这里面有一个非常重要,如何来添加监听呢。就我在这个前面是不是找到了某一个视图啊,也就是我是不是找到了八台对吧,那找到button台以后,我要给他设置什么,点击监听OK。这个在安卓里面设置监听非常有特点,一般都叫什么shirt,接着就是on,叉叉叉,接着什么listener oner是这样的一个固定的模式。
04:07
的一些方法里面要传的是一个什么监听器对象,但是呢,它只有一个接口,有一个接口你怎么创建对象,我们以前是不是要写一个类比,写一个类,第一个class去实现它呀,但是在N里面很少怎么做。直接用一个V点定,就是列名那类对象。就直接创建一个接口的对象,对不对对不对,好来下面有一个透视,右边提显示一个文本小提示。啊,他呢有哪些方法,我们来看一下啊,在这里面啊,这里面有回调方法是吧?OK,就点击的回调方法下面看到丹尼什么意思,那所以说我调用这个方法是通过什么来调。
05:06
啊,是不是这个内里来调大,它返回的就是一个什么透的对象,那有了这个对象以后,我就可以调用什么法秀方法,很多同学再去显示一个文本条小提示的时候,会忘了这一步,总是忘了秀。你要没有你要标注,那你就只是在这里面创建了一个对象,并没有显示出来,能理解吧,OK,好,那下面呢,我们就准备开始去做了。OK。好。来看一下这个做怎么来做啊看看。首先我们要想办法把应用给创建出来了,嗯,应用创建出来,来利用一个Android application指定一个名字。
06:03
呃,我这个地方呢,我们以后都会取这样的名字啊,APP01就是第一个单元的啊,一个应用啊,其实说我就叫贝吧。Take start start就快速入门嘛,OK。好,下面把这个包名改改包出来,微步大还是取名是讲究点啊,OK 4.34.3。4.3OK,点击next,点击再点击next啊,选择点。OK finish。这样我们就创建了一个应用啊,此时此刻呢,我的这个应用是可以运行起来的啊,没有问题,肯定可以运行起来,而且大家可以,如果说你想运行到低版本里面,是不是可以把它改低一点,对吧?OK,大家可以运行一下看看。
07:13
嗯,还是我们之前那个hello的样子是一样的,对吧,好,我们现在来看一下,我来这里面呢,写一个文档吧,写一个嗯。Lookt吧,我们的第一步是创建啊,项目好创建下面后定的,我们要做完成这个功能,你说我们先要干什么事?啊。要定义布局,你要先要有了布局,你才有可能去进行一些操作,因为我们现在activity是不是已经定义好了,对吧,Activity已经定好了,OK,这是应用的主界面,但是布局文件虽然说存在。
08:03
但是不是我们想要的界面码,我们不是想要一个文本,我们想要一个什么啊button来在这里面拖一个button,因为我们现在还没学嘛,拖一个好这个button呢,好像跟我们想要的效果还有点区别。就是这是不是有一要需要较宽呢,来。OK,好像它本身是不是和那个上面右左边和右边有一个边距啊,啊这一个呢,倒是后面我们专门要去讲的,它的生成没有生成啊,我们就用这样的一个效果就得了,后面我们再说怎么样去设置一些边距,OK,好来看着啊button设计好了以后,这个button我需不需要在嗯X里面对它进行操作呀,因为我到时候需不是要给它设置监听呢,我要改变它的文本吧,所以说它必须要有什么ID,那怎么样添加一个ID大家看。
09:10
哪个加号接着写一个名字b TN me me啊杠,下面这个是干嘛,是不是下载呀,Download,嗯,这一看就知道是干啥了,好,这个文本默认是什么下载,那我不想把这样一个文本字符算写在这里,我想。统一的把它定义到string里面去,这个没问题吧,来我们来看一个。好,那要给它取一个名字吧,写个什么呢?别说,就写个单漏的吧,啊单漏的好了,来在这个地方,我要写的这一个值就是什么下载是吧?啊,要写的值就下载来,把这里面的值给它替换一下,搞定好了,那我怎么引用呢?L的再写个使君,L的再写个刚漏,很好啊,OK,搞定。
10:19
好,整个界面布局我们就算完了。下面我们要做的是就是在main activity里面去做一些操作了,好,我们来看啊,一般情况下面我会把布局里面所有需要操作的视图都在。Act里面定义成一个成员变量,怎么定义呢?大家看private,我这是一个什么类型的视图,Button,那我就在这里面写一个button宝宝,嗯,啊,我的名字一般我的习惯是写成这个ID的名字。
11:04
这样做有一个好处,你马上就能看到,看到我写在下面我这一句话是不是把什么意思来着,加载布局,并生成对应的什么一系列对象啊,对象视图对象,也就是说。只写完这一段,看到在第16行,我就可以从内存里面去找那个对象了吧,尤其是找谁八,这个我不太关心是吧?我现在只关心八那好了。那怎么做呢?下个地方我来说一下,我们要说的是找得到什么八等对象,那有了八对象以后,我先把这个过程给它写一下,我该怎么吃呢?
12:01
对吧,我最终是不是产生一个点击的监听的效果,那我就要给谁是监听button设置什么监听点击的监听对吧?OK,那它的监听是不是里面有一个回调方法呀,好,那我在回调方法里面做什么呢?在回调方法中做几个是做下面两个字来啊第一个是是不是提示下的提示一个小文本呢?提示开始啊开始下载的啊小文本。文本小提示吧,提示下开始下降了,文本小提示,OK,还有一个什么。
13:00
是不是要更新这个button的文本呢?OK,好了,来写一下更新button显示的文本,嗯,基本上就干这样一个事好了,下面我们一个一个来做得到button对象。林总,我不知道方法,我们大家来看一下啊,我们来看一下它,你说现在我要去找哪个方法。Of you by idea OK,是activity的。好了,我们来试一下。来find view by ID下面要传一个什么传ID,那我通过谁来去找了?D是在R类里面呢?r.I Di Di从语法上来说是一个什么?语法是什么内?
14:01
对吧,这是个类,你说太太操蛋了,这个东西是个小写是吧,那没办法,他已经就这了。啊,你得适应OK,好哪一个IP点。B t me是吧?OK,好,那我把它是不是要保存起来呀?就跟这个一样了,那现在他又报错,那是因为什么事呢?大家看,Find of you by返回的是什么view,那我们生命的是一个什么button,你知道view和button是个什么关系了啊,我们来看一下。对吧。知道这个快捷键是什么吗?康加什么T,这个非常有用,有时候看一个是一个类型,它的一个整体的基层结构,对吧?OK,所以在这里面必须CTRL加一。
15:04
强转,OK,好了,下一步给button设置点击的监听。来,来一个点set on click listener好了,这个地方麻烦事情就要来了啊,最麻烦的一个事情就在下面这一步,先别点,先我们看一下去,知道怎么过来的吗?CTRL键是吧,点它就过来了,好吧,它需要这样一个类型的对象,你来看一下它是一个什么呀?它是一个接口,而且还不是一个单独的文件。它定义在了V的什么内部?看到了吗?OK,那。那他最终是不是需要这个接口的实现的对象啊,啊,现在该怎么做,我们写一种常见的一种写法让大家看到啊,在这个地方我们一般不会定义什么类,那就太麻烦了。
16:11
六先写外部类,再写点。但他是出来的呀,好啦。嗯,OK,它实际上就比以前的我们创建对象多了一个什么东西。大括号对吧,但是大括号里面我要这么写对吗?不对,因为这里面是一个接口,它是不是要必须把它的方法实现了,OK,我再给大家写一遍,我跟大家说有,肯定会有同学在写的时候跟我的效果不一样,总是不生成。啊,OK,再来一遍啊,又一个外部内零点啊,你不就出来了吗?
17:02
但是你开始的时候一定要把这个把这个字母字母写对了啊,你要没有写对,很有可能就搞定了,OK,而且要打包,提前打好包,OK最好是。啊OK,嗯,大家打包的时候看,如果这样的啊,等一下它这个是不需要的,我们不是6U,是六它的内部的一个接头对吧?好,下面这就是那个什么回调方法中啊回调方法,这个方法什么是调呢?当点击添加设置了监听的什么八等十调用OK也就是点击它呗,是吧,好了,那有两个是需要做。
18:01
第一个是。来大家看看啊,提示显示下载的文本小提示,我这个地方用到一个什么类了,来先看一下是不是用了一个tot呀,来。Post先要看见他对象同学啊,先找一下包点哪个make它是吧,OK好了,这一个这一个就比较麻烦了,他说需要一个什么类型啊,来过来一下,他说需要一个contact是吧?给我看一下contact是个什么东西啊,来它本身是一个什么类。A代表什么意思?A,抽象内就很好,那肯定不能直接去整个他的对象吧,大家看看这个地方有一个非常有意思的东西,什么意思?就是activity,就是知道看词的什么一个直线内吧。
19:04
这个有知道这个有什么用吗?啊有用,当前这一个就是activity啊,那我应该怎么写。啊,人说那我写个this呗啊,我写this是谁,This是不是调用方法的那个对象啊,那是X为对象胶囊克吗?是谁的,这阿克方法是谁的,是不是这个监定器接口的,那这个类就什么类型。是不是他的微信这对吗?不对。OK,我想要的是不是activity这个对象啊,我怎么样去得到外部类的对象呢?啊,内点什么this。啊内零点认就能得到外部类对象,这个是大家必须得掌握的。
20:04
如何得到外部内内的当选对象和对象呢?OK,就是内名,外部内名点this这个我们会反复的用到啊,OK,好了,下面一个这个好多,下面就好多了,来文本说什么开始下载还是下载装啊开始下载吧,OK,来下面这里面来一个好,还有一个这是叫程呢,我大家看一下叫什么微,什么意思。不知道是吧,不知道我们查一下啊,就我这种操作是希望大家下一节课你也这么做,其实对我来说这个单词我肯定知道对吧,OK叫什么持续,什么叫持续,就是那个。
21:05
文本小提示,它是不过一会就消失啊,那到底过多长时间呢?也就说它持续显示多长时间,对吧?OK,来看一下它好了,To Great the message,这个已经很明确了,对吧?OK,而且他还告诉你了这个值I was意思。要不就是这个值,要不就是另外一个值。好,我们来看一下这什么意思,Short,那什么呀,短的和什么长的,那也就是说那个透视小提示,你不能指定时间。你不能说我显示两秒,我显示三秒,不能时间已经固定了,只有两种时间,要不然的话就短的时间,要不然的话就是什么长的时间。OK,你指定,你指定它这个字也就指定几零啊,但是第一次我还是写一下它到了第二次我就不会再写了。
22:06
OK,这个写起来有点麻烦嘛,那我何必呢,我就写个语音快一点对吧,因为第一次,所以说我还是尽量的规范一点。OK,这里说的是我显示的时间要短一些的时间吗?OK,好了,执行完它了以后,那个to视的提示会显示吗?不会啊,才是我们第一个to视是吧?这只是在内存里面创建了一个什么对象,下面就要想办法让这个对象显示出来,给什么秀显示。啊,就是说用两条语句来写的吧,真正写不会这么写的,从来没有这样写OK,写OK就是那个叫什么方法链调用是吧,OK再给一下是什么秀。能看懂吗?来是吧。
23:07
好,下面一个根筋八层的,我们。好,Button在这里已经有了,你说我要设置它的文本怎么做,大家做的方法,大家一定要根据功能来推测一下方法啊,Set完本大牛啊,OK,好啊,正在下载中吧,点一点OK。就做了这样两个式啊,就OK了。好了,现在我们就来去检查一下,看看行还是不行啊。走。哎呀,这个这个这个也太太容易掉了呀,来啊,我换一种模式,这种模式虽然说好看一点,但是呢,它它容易掉。
24:10
我们化验块还是用HVG。4.3。用用硬键盘吧,这个地方选一下SVG这种方式好像要稳定一点点,这经常掉了也受不了,再快也受不了啊。这个就是丑一点点,你觉得这个丑吗?好看啊,看来你的审美跟我有出入,好来啊。来来界面C的没问题是吧,好下面点一下下载啊,看一下来啊,正在下图,哎,好了啊,这样呢,我们就实现了一个简单的一个点击的一个响应效果。
25:11
OK。
我来说两句