00:00
你们看一下。今天呢,我们要去开学啊。第五章,消息机制与一步任务。来。看一下啊。首先我们看一下整个大纲,第一个呢还是理论概述,第二个呢,是说一下我们的消息机制。啊和异步任务这两个重要的概念,最后呢,做一个用练习。来相机是吧,我们需要去看它的一些API啊。后面呢,我们要去写一个测试用例,去测试一下如何来使用消息机制里面的API。接着我们要去应用一下消息机制的API,去做一个小DEMO。好。后面难点是我们消息机制的原理。包括它的源码分析。啊,异步任务呢,包括它的API,还有一个测试用例,还有一个异步任务的一个过程要跟大家说一下。
01:07
最后呢,有一个练习,这个练习至关重要。就动态显示带图片的列表,就所有的数据都是服务器端的。我们要做成做的那个效果呢,应该是跟真实的项目基本上是差不多的。大家想真实的项目要显示一个联网的列表,联网数据的列表带图片的,你说最先看到的是什么?大家一打开界面。想在这个地方最先看到一个什么地方?啊,最先看到的就是有个圆圈,是不是那个进度条啊,有一个有一个提示文本对吧,说正在加载中吗。是吧,过一会。什么东西出来了?是不是文本列表出来了,但是那个图片出来没有是没有啊,开始是不是只是出来了这里面的文本对吧?假设这个图片在左边,看你是不是出现一个题,可能出现的是一张。
02:03
提示正在加载的一张图片吧,比如说里面写个loading是吧,或者是或者是一个白色的图片,或者什么图片,就是这个图片,就告诉你我图片还没加载过来对吧。好,那这个文本列表呢,能很显示出来了,接着它干嘛呀,大家说。是不是他一步一步去一点一点的去加载图片呢。而且大家要注意一个是就是如果你快速的滑动啊,譬如说假设啊,它加载图片有个过程嘛,尤其是网速比较慢的时候,他可能半天才出来一张图片,对不对。好,我问一下大家。如果我向上滑动。啊,看滑动是看下面的。你说上面的图片加载没有?啊。上面出院,也就是说我开始滑了,滑到下面我再回来。你说那图片能不能很快写上?那么。
03:00
不一定吧。对不对,有可能,如果你停留时间比较长。它是不是已经显示了呀,如果我一上来我很快就往下滑是吧,我这有可能吧,一上来我就很快的往下就滑到下面去。对不对,跑到下面去了以后我再回来。你想它这个地方的这个图片是不是有可能。没有显,没有真正的显示那个最终的图片呢。嗯。好,这是一个问题,还有一个问题,如果它已经显示了啊,如果它已经显示了,我划下去,接着滑上来,你说它是先直接显示呢,还是先显示一张别的图片?是不是直接显示的吧,因为它它已经是不是加载好了呀,啊这个地方有一概念是缓存嘛。他是不是从服务器上得到图片以后是不是要缓存呢。在我们后面要讲到一个非常重要的概念。
04:01
叫三级缓存。对吧。好。主要的一个相关的知识呢,就这么多,先简单的跟大家说一下。我们来看一下理论概述。第一个这些东西大家都懂,我只要在统一的跟大家说一下,第一点,在Android中只有us right中才能直接更新界面,没解吧?下面第二点。在安卓ID中长时间的工作,譬如说联网都需要在什么?分线程执行在安卓里面,我们分线程叫什么呢?Right工作者线程。而UI线程我们可以叫它什么,也就是我们平常说的是不是main rightad呀,主线程。啊,或者说你你去跟人沟通的时候啊,跟面试的时候,你就跟他说。
05:02
Us thread和work thread可能那个格调会更高一点啊。好。嗯。好,下面。啊,这地方就说第三步了。在分线程得到服务器的数据后,需要立即到什么主线程中去更新界面数据?哎,我们以前是不是做过类似的功能啊?那时候我们怎么做到这一点呢?是不是用一下activity里面的一个run on u rightad这一个方法呀,他能帮我们去什么做一个,刚才有个同学写的说的特别好,叫切换。是不是切换到主线程去执行呢?对吧,本来我是分线程的嘛。我现在马上要到主线程执行,这不就要切换吗?实际上是一个啊,线程间的通信。
06:06
也就是说我们去真正面试的时候跟大家说,他可能问你。同学,你知不知道线程间通信安卓ID里面是怎么实现线程间通信的了?那哥们就懵了。啥是线程间通信呢?搞不清楚。啊,可能你说消息一致啊,他就很清楚。一旦你问线程间通信怎么做的,搞不清楚。其实说现在东西实际上就在问你什么呢。消息机制。对吧,我们消息日就是为了实现线程间通信的。一个很重要的一个技术。在线程间通信呢,这个消息日的基础上呢,Android里面还提出了另外一个技术。叫异步任务。它是在我们消息机制的基础上。的另外一门技术叫异步任务。好,我们后面呢,就专门来去说两个消一日一步任务,嗯。
07:04
啊,后面呢,我们会写一个测试用例。来测试handle了。啊,消一日里面非常重要的一个类handle了。啊,接着是写一个handler的什么DEMO,好,后面呢是去测试一下a think task任务。嗯,这样三个方面。而且啊,为了大家简单,大家看到我这里面有一个叫基础测试工程。啊,就这里面的一些界面呢,Activity都已经基本上写好了,就是重点代码我们没有去写啊,什么加监听啊那种事情不需要大家再做了啊,再做有什么有什么意义了。大家只需要去把这当前这个应用给它导入到。你的工作空间里面来。大家看着啊,我把这些呢,先都关了吧,这太多了。
08:06
关了以后呢,我把这这些可以把它缩起来没了吧。给他导入。Gonna quick。跟他分。明白了吧,好。那这个里面大家看到我们这里面有有四个activity,有个主界面activity。可以把它运行起来。这个没有问题啊。这里面就是去把有三个按钮嘛,去启动三个不同的界面。这种事在做就没什么太大意思啊。我们分别去来去实现它里面的一些啊功能。啊,这些初始化的工作啊,这些写回调方法的工作都已经做好了。好,来啊,大家看看。
09:00
就这样的。这个界面也整出来了,这里面呢,有一个憨德的小DEMO。嗯,后面还有一个a single task。其实task呢,也是做我们前面做的功能。下载最新AK。来,把它顶下来。
我来说两句