00:00
它提供了另外一种方式,另外一种方式呢,它是这样的,它还有另外一种方法叫b service,叫绑定服务。啊,绑定服务的时候,他除了传,他还传了一个对象。Connection connection怎么翻译啊,连接,那也就是说这是我的activity,这是我的service。我帮的service时代,首先它肯定是启动了。接着启动以后,他接着干什么。就是咱俩产生了一个什么,是不是连接啊,啊做了一个这样的事,那我那也是他是这么做的,那上面呢。上面start service有这个有这根,有这根线吗?没有start service它只负责什么启动,并不负责绑定。对吧,嗯,好,来我们来看一下看看。啊,行不行,试一下啊。
01:05
我这里面呢,还有一些啊,其他的一些回调方法需要我们去写。大家看有棒的service和on邦的service。买一个吧,买两个啊。这个呢,不叫启动服务了,叫绑定服务,呃,下面这一个叫解绑服务,就解除绑定啊,叫解绑啊好来我把这个方法名了。给他复制过来。好了。来啊,我们来看一下。好,解绑服务,刚才说了用哪个保定服务,用哪个方法叫棒的service,好了,这个时候他要去传一些。
02:08
对象。首先第一个。叫service对象,其实是intend对象,对不对,其实是intend对象,那我是不是需要把刚才的这个intend给它复制完就可以。好,关键的是就是这一个。需要一个什么连接对象,好了,我把这个连接对象呢给它创建一下,它叫什么连接呢?Service connection是吧?好,这个是一个接口,我们来六一个接口的实现。看着有点疯狂是吧。没关系啊,好,记得最后一个。还有一个flag,这个flag吧,经常是比较难以理解的。这个flag呢,有这么多啊,我们一般用哪一个呢?用这一个。
03:04
Found outra什么意思啊啊,绑定自动创建,其实就是其实可以这么翻译,创建以后自动的绑定。嗯,OK,好了就用它右键。啊,它是我们service context里面的一个产量是吧,来写一下看怎么写啊。他写一个contact的点。好吧,嗯,好,来导包。OK了吧,嗯,这样我们就去绑定了一个服务。好,那这个地方前面呢,在这里面需要的是一个连接对象,大家看呢,尤其是这个方法什么意思,当服务连接上的时候,谁与服务连接上啊。是activity啊,当与服务连接上的时候,是不是就调用这个方法呀?嗯,那我来写一些打印输出来看一下是不是真的啊,已经连接上了。
04:14
这是这一个这一个方法呢。当服务disconnected。叫什么断开连接嘛,对吧。有人想,我们一解绑,是不是就应该叫他,但是跟他说。这个方法从来没追求过。有时候啊,我跟他这种可能性是有的,也就说一个API设计出来,他不是说一我一个API是不是设计很多方法一个类,但有些方法他可能现在还没用。嗯。是为了什么,是不是扩展啊,就后面啊,随着时间推移他可能会用,但至少现在我还一次没调用过,其实没让他就是想方设法,我就查了很多资料,没看他调用过。
05:02
啊,这个没关系,影响不到我们去使用它们啊好。好来现在呢,我们就看到主要在这里面是创建了一个连接对象,接着这里面是绑定记住了啊,绑定它是不是也是先启动了以后再绑定呢?绑定service好啦,嗯,搞定,最后呢,来一个小提示。说啊帮的社会是吧。好了吧,嗯,好吧,来下面。叫解绑,这个解绑怎么样解绑呢?用什么方法?首先你要知道啊,棒的。Service。是吧,好的设备它需要一个啥呀,需要一个连接吧。
06:04
连接了。明天在哪呀?是不在上面呢。对吧,那也就是说我在这个地方我得定义成一个变量吧,而且我需要去创建多个对象吗。不需要,我只要有一个connection对象就可以,怎么做呢?你不能你不领脑子去创建一个新的,你可以这么做呀,If,如果connection等于,那那我就去绑创建并绑定吧。啊,创建并绑定好了吧,那你说else是什么情况,Else什么情况说已经绑定了吧,对吧?啊已经绑定了,记住了。
07:03
好老弟下面啊,下面看他,你说我这个解板怎么做。先解绑之前先来判断有没有绑定吧,你都没绑定,你解啥绑啊,那如果说他不等于,那那我就去解绑吧。除了解绑,还要做一个事。你都已经解绑了,你得做什么呀?是不是要给他付空啊?对吧,你要不给他复工会导致什么问题啊,是不是我没办法再绑定的呀。对吧,实际上你已经结婚了,但是我看到的是。已经绑定是吧,嗯,好,Else提示什么呢。还什么,还没有绑定。
08:08
是吧,你没有绑定,那你解绑就无偿说起吧。对不对。好了,现在我们就来看一下绑定和解绑。走一走啊走。来看一下,走你。说的什么创建啊,是不是创安了呀,好安了以后他好像没有调用我的这个。On service connected。这个再看一下,我们前面有一个方法没有管大家有没有记得。就他。是吧,诶这个叫安邦的,安邦的。在绑定的时候,我现在是不是就去绑定那个设备啊。这个方法是其实是会调用的。
09:04
那为什么我那个connection的回调方法没有执行呢?因为我返回是空,我要返回一个对象,它才会去调用连接对象的绑定方法。连接的方法来看一下,那我去创建一下,我们看一下这是一个接口。那我总不能创建一个这个对象,它是一个什么。实现内啊,我们呢,就去创建这个类对象给他返回,我们也不用它啊,先创建一个再说,创建好了吧,啊大家现在就来看啊,现在就有区别了。好。绑定。先是服务被创建了。接着是。服务on great了对吧,好,就是什么onbound。
10:00
看看我们的service连接是不是on service connected掉了吧。而且你要看一个东西。给大家看,大家就明白,大家看到啊,我们这个里面有一个。传过来一个东西,不知道能不能看出来。他传过来一个挨棒的对象,你说这一个对象是谁呀?对吧,我现在是不是溜了一个对象返回的呀,是不是实际上是应该是他吧,啊这个我们后面有用啊,暂时我们现在用不着。这说的是他们啊,这样我们的绑定和解绑啊,就跟他说了一下。但是大家需要去观察一个,现在我是解绑还是绑定呢?绑定来解绑一下。是不是销毁啦?嗯,诶还有一个方法,我们可以注意一下,有安邦的,大家说应该还有什么对不好读是吧。
11:12
好了,来,我们来看一下,其实这一个也可以让大家看一下。对吧,来。就这一个绑定这种方式用的少啊,启动的方式用的比较多。绑定服务。好了吧。解绑服务。有吗?是昂昂棒的呀。好。这是了解绑好,下面还有一个小现象给大家看一下,我现在绑定服务了,我不点解绑。啊,记住了啊,不连接吧,我是一个什么呢?现在我是activity在这里,Service在这里,我们俩关联在一起了吧,好了,接着我点退出。
12:04
我得退出,要干掉谁呀,Activity?好,现在它会出现一个。错误对吧,他说错误是什么呢?我们来找到啊,找一下大家看看。他说什么service connection,我看一下这里,这里面他在说什么呢?On here。啊,看着这句话啊,他在,他在说什么?看看这里,他说,That was,前面还有吗?我看一下能不能找到一个大家能够看懂的啊。那个异常的类型呢,叫service connected,什么意思,我看一下。泄露是吧。是在泄露啊,说的是一个,那泄露是个啥呢?这个说实话啊,你要看到这个泄露,你也不知道是怎么回事是吧?啊简单来说就这样的,刚才我们不说过了吗?这是activity,这是service。
13:13
咱俩是不是产生了关联呢?咋要死了?咱家要死了,怎么办咋办?你说在时间的先做什么事,是不是先要去断开连接呀?对吧,我看我即将马上就要退出了,但是我们不断开连接的话,这个东西它就不允许,先你要断开连接,你才能好好的走。啊,不然的话,我就让你走的不愉快,不愉快记得报错嘛,啊很简单,来。所做起来倒很简单。怎么做,我怎么样保证退出之前肯定会断开连接,是on destroy啊,哎,这个时候我们终于要用到这个方法了吧。
14:04
啊,在activity销毁之前调用,所以说我们可以去重写这个方法去调用一下,怎么调呢。把它拿过来。不要什么提示啊,这个时候不需要提示,就你退出的时候,如果是一个已经绑定的状态,因为它不等于空吗?那说明已经绑定了吧,那我就去。解绑啊,这个付不空的其实都无关紧要了,你付空肯定没什么问题。对吧?来,我们来看一下这一次他会不会报错。丽屋。好了吧,好,下面点一下退出。
15:01
是不是会写反了?嗯,就是这么回事啊。
我来说两句