00:00
小练习,这个练习也并不难。他啊,肯定比我们刚才难点,大家看啊。它功能描述倒非常简单,第一次按键的时候。只是透视的提示一下,说再按一次就退出我的应用对吧。这里面有一个。两秒之内。你再爱一次。才退出吧。如果过了两秒。你想想看,我按了一次,我过个很长时间,我再按第二次会退出吗?不会。最先接触的功这个功能时候,我觉得这个东西好强悍,我怎么那时候不知道他是他没有没有深刻体验的时候,就感觉怎么有时候你要按两次退出来,有时候按两次他又不退出了。它里面在对背后在做些什么事了,对吧,我曾经还想过是不是我有没有,就看有没有操作你的界面上面是不是很多那个可以操作的一些按钮什么的,诶是不是他在监视我有没有按这个按钮,如果没有按就退出了,等于相相关的一些。
01:06
其实非常,最后才发现这个事情超级简单。就是根据时间来控制,并不是根据你有没有再进行操作,就两次两次点back键。中间有没有操作无关紧要。对吧。战士必须要求有一个时间限制吧,但你就想嘛,两秒之内你还能操作。对不对,你点你点了一次麦克键,你再操作一个视图,你再点一次能在两秒之内发生吗。够呛对不对,那你点一个麦克键,它的作用是那随便就两秒了啊,你要你要是觉得两秒时间长,你还可以把两把它时间可以控制更短一点。对吧,但太短了也不合适,对吧。嗯。有些动作就是很缓慢,显然于是那有些人性子不急,对吧,等于是哎太生气再按一下那也不行啊,对不对,时间要差不多,就是能满足绝大部分用户那种感觉,就是我的想的,我的想法应该是最终操作是正常的。
02:12
对吧,好这个地方呢,涉及到两个技术点,一个是K事件的处理。还有一个。延迟消息处理,你说这怎么涉及到什么延迟消息呢?等会写我们就知道了。来看啊来,我先把这个应用呢给大家写出来。APP。啊,你六这个呢,是叫K。改一下包名,这个比较简单,很快就能做完啊把。嗯。
03:05
嗯。好,我们来看界面也不需要改的啊,界面也不用改。啊,我们一步一步来做,首先我们要去是不是要去监听什么事件k up是吧,这个了解到了好了。这个地方啊,这样我们先把这个问题简化,你先别管时间对吧,你就说连续两次就退出,第一次不退,第二次退出。这个我怎么知道,他点了两次。大家说这K4我怎么知道,他点了两次。得做个什么事?是不是记个数啊啊记个数那那是太了,一共就两一次,两次再记记什么数,记一个不形的标识就可以吧,你比如说记个数记个一那个就没有薄形的那种标识好,因为它不会就错bos嘛,好我这个地方啊,我就写一个。
04:07
是否能够退出,怎么说是否退出exit exit怎么写的exi,这是好像是不对吧,这存在啊ID这样的不像啊啊好啦,那默认是退出还是不退出啊,你说默认应该是不退出啊啊那就做死对不对啊,标识是否需要退出,是否可以退出对吧?好来看一下啊。现在我们要判,先判断一下是不是K4件那个back键even的,这个我们刚才不做过吗?点点KQ的。等于。K爹。呃,K扣的是吧,好啦,我们不退出的话是做什么事。
05:09
啊,不退出很简单,反馈出就不退出,对不对是吧。好,那我就问你了,什么时候不退出,这就是不退出啊。主体,嗯,不退出是吧,那不退出大家看啊。我在这个里面只需要判断它吧,如果说他是出还是Bo,我不对说。Boss,那就这么写呗,是吗?啊,如果它是Bo,那我就return。错吧,这样就不会退出了吧?那我要这么写。是不是总部退出啊?对不对。不用选你写啥L你经常想,你要想啊,我们现在这么写法,是不是永远不退出对吧,但是你为了为了保证第二次点再退出啊,怎么做啊啊exit等于two。
06:15
对不对,这样就能保证点两次退出吧,而且第一次的时候是不是还有个简单的提示啊,来一个透视啊。This时间秀说什么呀?是不是这样意思就退出啊,或者再点一次一次就退出应用可以吧,来给它。好,现在我们就应该已经实现了点两次就退出。来看是不是。诶,不是这个。是我们这个应用是吧。非常简单啊,来,走。
07:03
好吧。点一次。这是不是这样意思,就退出应用啊,我们先清理清理。这个时间挺长了吧,啊,再点一次。是不是就退出了呀,啊,这是我们的另外一个应用啊,好大家来想了。真实的应用可不是这样的,对不对,是应该有一个时间限制啊。那如何来限制它在两秒之内才能够退出呢?必须要求两秒之内。那就是说一旦达到了两秒。就不能再退出了吧,那你说我要想他不退出,你说我得做个什么事,他就不能退出了。你说我做一个什么事情,他就不能退出了,就是退,能不能退出是不看这个标识啊。
08:01
对吧,也就是说一旦达到两秒,我就把这个标识变为什么boss。对不对,那我怎么样去做一个两秒,两秒就能干过两秒以后的一个工作呢?这叫一个什么。是不是延迟两秒的工作呀?对吧,我们的工作是什么,工作是把那个将工作到回了,将什么exit不为什么不为对不对,就是说但是。是不是延迟两秒啊。其实很简单一个事啊。将exit变为Bo就可以了。好,这个时候延迟的工作我们说过了,用谁来做啊,Handle了来做这个超简单。
09:00
Handler啊,Handler等于一个handler。重写一下哈,Mac方法。好了吧,来,那你说我怎么样,我做这个事倒是很简单,就是在这里面做啊,把它变为把这一个这一个一个Z。Exit变为什么?嗯,什么时候发消息了?你在什么时候发消息啊,是我点的时候就在这里面呢,同时我要发一个消息做这个是吧?嗯,啊,发消息延时两秒去做这个事,那怎么做呢?handler.send是空消息还是带数据的消息啊,空消息吧。我不需要带什么数据,来个what啊,我这里面我也比较简单,我就写个一算了啊,好这条信息。
10:04
是不是2000呢?啊2000好了,现在在这里面,这样只能判断一下if,如果message.what等于一,那我就去。把它是不是作为boss啊。嗯,好了,一旦他为boss,我就是不是还要点两次啊。是吧?嗯。你你点一次他要过S了,你退不出不去嘛。嗯,来看一下。走走。是不是出来了,好,这时候我点的比较快。下面我慢一点点是吧。早啊。这个应该时间比较长了吧。是不是这样一下,嗯,我再点。谁也不信呢。好,这是说的是要延迟两秒去做这样的一个事。
11:05
其实还是并没有多难啊。啊。先拿我吧。
我来说两句