00:03
上午呢,我们说了一下休息日,下午我们来看一下另外一个概念,叫一步任务。啊。A task在Android里面呢,有这样一个类。我们可以来看一下。开shift,把这里面其他的所有的先关了。而且呢,它是一个抽象的类。对吧。他这里面比较难受的是这个地方。三个发型。我们以前学过的最多的是几个啊?两个对吧。以前我们学map的,是不是两个参数啊?啊,一个K一个什么radio,它这地方有三个好了。把它这个关了啊。好,来我们看一下。
01:04
首先我们要知道第一个是就是什么是异步任务。再一个呢,我们要说一下啊,这塔的理解现在看一下。这个义务任务呢,其实在说他的时候,有可能有两种情况。一个是逻辑上的,如果是逻辑上的,那就是以多线程的方式来完成一个功能需求。那个时候我们就用义务任务来处理。啊,其实也就是说涉及到啊,一般有两个线程,一个主线程,一个分线程。啊,我们前面已经做过了一个异步任务的工作。那有的时候呢,他可能是指的这个类。对吧,因为它翻译过来就叫什么。第一步任务。好。来下面。在没有这样一个类之前呢,其实我们可以用什么样的方式来实现实现义务任务呢?
02:04
Handle加thread。就可以实现一个义务任务的功能需求。什么叫异步任务的功能呢?我们上午不认识。实现了一个功能,前面上面是不是有一个金条啊。下面一个button吧。好。开始进度条是不显示的,现在我点击这个button提交请求。他是不是在这上面打断了。而我是不是应该有一个背后有一个分线程,再发请求吧。持续的时间比较长。当我的分线程得到数据以后呢,就会回到主线程,将这样一个啊进度条给他。隐藏。这就是一个异步的过程。那什么是同,那跟它类似,就是同步呗。是吧?
03:00
同步是个什么概念呢?就是。因为步骤一做了才能做什么步骤,步骤二做了才能做。步骤三。对吧,那我们我问一下。如果说我点了他了以后,他在发请求的过程中,我这个界面还能不能操作。能不能?啊。能还是不能?能因为他那个背后的那个操作,他是在分线能做的吧。主线程还是可以响应我们的操作的吧。这就说了义务。啊,其实简单来说异物你就可以把它看成多线程。有两个线程工作,一个是主线程,一个是非线程,那主线程运行并不会。影响到。我主现成的响应吧。这个能听懂吗?
04:01
啊。下面。而呢,它是对handler和TH的一个封装。你使用啊,其实我们用它也能够实现。我们的功能需求,但是用它呢,会更简洁一些。在编码上面更简洁。效率上呢,更高一些。为什么效率更高了?是因为它这个里面封装了一个。线程池所说的线程池其实也很简单,就是有一个容器,容器里面有很多个对象,你说这个对象什么对象啊?是不是现存对象啊?对吧,那线程对象,譬如说开始呢,他把这个词初始化给创建一些线程对象放在这里。对象创建以后运行的吗?没有对吧,那接着呢,你可以从这个词里面拿出一个。线程对象来,去运行你的工作,去执行run方法吧。
05:04
执行完了以后呢。很简单,就是刚才再把它放进去。对吧。放进后,这就实现了一个什么。是个妇幼吗?对吧,那这样的话是不是比我们每一次都去六是不是要效率高一些。就这么简单一个事。因为它内部呢,是用线程词来去做的,所以说呢,比我们直接去用thread。要效率肯定要高。啊。再把它的API呢给他说一下,先简单说一下啊,它呢,这个里面有一个task,它用来去简化handle了,处理多线程通信的一个问题。那他有这样一个声明,这个声明里面呢,主要麻烦的是这几个。行。
06:01
这个泛型呢,一个叫parents什么意思?参数。第二个。进度第三个。结果是吧,这三个参数都分别有什么用呢?有用啊。首先我这个对象在创建以后需要去启动。启动就是执行这个执行的方法。它可以传入一些数据。这个数据的类型就是由他来决定。它而且它是个可变的吧。是吧,可变参数,那可变参数我是不是可以不传呢?可以可以吧。当然可以,对不对,可以穿零或者是N个吧,啊都可以。好。这叫启动任务啊,开始任务的执行流程。啊,接着有这样一个流程,看看on啊。再接着打开啊。Doing background。
07:02
还有一个。On post,大家看到这里面的解释啊,首先这一个方法是在分线程之前,在主线程去执行。把下面这个呢,是在分线上执行。好,第三个是在分线程执行完了以后,又在主线程执行。这个有个什么规律啊。这不就是我们联网请求的那三部吗?对不对。对吧,那我们要做的是不是就是在这三个方法里面去分别去做我们的123步啊。啊,第一步显示提示视图。第二步完成一个较长时间的一个工作是吧。第三步。更新界面。这是一个什么感觉呢?其实就好像类似于吧,我们去以前可能是我们自己设计流程啊,一步两步自己的去设计,可能问呃,以前我跟大家说的有一种两种题,一个叫问答题。
08:10
一个叫填空题。啊,以前呢,我们要做问答题,问答题是不是主要要把流程给做清楚啊。你自己要设计流程,要写流程吗?填空题什么意思啊?他流程都已经写好了,只是那个流程里面吧,有些空需要你去填吧。啊,我们就这一些方法,就是那那几个空。我们要重写这几个方法,去在这个不同的空里面呢,去填不同的内容。啊。它还有一个,还有两个方法啊,这里面呢,有一个publish。发布一个进度。是在分线程去发布一个精度,那它会在主线程呢,导致这个方法会被调用。
09:03
先简单的说一下,你不理解没关系,我们等会用大家就知道了啊。啊。
我来说两句