00:00
好,接下来呢,我们进一步的处理啊,处理这个主线程发送消息啊,具体的代码逻辑,但是做这个代码逻辑之前呢,给大家分析一下这个啊,这在六大部分别是这个导包我就不说了,这个注册啊解注册就类类似于这个广播啊,广播你是不是都得注册呀,啊就相当于什么呢?你注册了要接收这个频道中的消息,比如说这个是中央台。啊,广播中央台要发送每天呃七点晚上七点发送这个消息啊广播,然后呢,那你要只要是你注册这个台,就相当于你开通了这个闭路频道啊,这频道之后呢,你就能接收到中央台发送的消息,你要是不买这个这个频道的信息,哎,你就收不到这个消息,就类似这样意思,那你这个呢,就相当于是注册啊注册了我要接听这个消息。这么一个事件。啊,注册完了,你要解注册啊,这个是完全为了这个内存啊,释放用完了之后不用了就要释放嘛,啊然后呢,构造发送消息类啊,就中央台给你发送的消息啊,什么消息能发送呢?能能接收到呢?啊你俩的发你发送的消息和你接收的消息必须是一模一样的。
01:18
啊,比如说我发一个这个消息类型是一个S。啊,发送的是student这个事件,那你这面注册的也一定是student的这个事件,我才能接收到,你俩这个频道必须完全对应上啊,这个student啊这边student那就相当于这个是比如说啊112频道啊知的频道啊数据这个是112啊。你们俩才能同城化嘛,啊同城化就是这个。然后发送消息啊,发送消息呢,就相当于这中央电视台开始网上播啊播消息了,到点了发送消息,那么你这边呢,就可以去接收这个消息啊,接收到消息类型呢,还分这么四种啊,这四种,这四种类型呢,之前已经跟大家说过了啊说过了。
02:12
就是类似于这么一个事情啊,就是广播啊,可以理解为这个广播,但是呢,它比这广播更灵活啊,操作起来呢更方便啊,所以说这个目前这个运bus啊是非常非常的好,接下来呢,我们就实现一下主线程发送消息,那按照它的步骤,第一步要注册一个啊这个广播,那好我们在代码中注册一个。在哪里呢?啊,就在这个初始化数据吧,啊,这属于数据。第一步,注册广播啊。啊,那就住呗,Bus啊,现在有吗ebus。The bus第二。
03:00
是没有啊啊,为什么没有呢?是没有包啊好,那我们导一下这个包在哪呢?在这里面应用之源价包,把这两个啊复制过来。来到这个lips下面CTRLV。然后呢,别忘了把这俩添加成类库,ADD as library。这样呢,啊,就编译通过了之后呢,开始注册EVENTBUSBUS.get default,然后呢点resist re,啊这里面呢,需要传一个这个上下文,那t bus activity.this这样呢就注册了一个广播,注册完一定别忘了紧跟着就写这个解注册。
04:00
省得后期容易忘。二不解注册。解除了啊,那这里面bus。点get default.unist那么还是这个上下文。啊,三小文。这是第二步啊,第二步接下来再往下看,你就按照这个步骤去写,构造发送消息的类啊,这里面呢,就是创建一个普通的消息类啊,这里面我创建一个。我在这里面创建一个。包儿吧,一般的包儿。在这里面定一个类。Mrs event。
05:01
这个名称可以随便起啊,可以随便起,这里面呢,我随便定一个字段啊,比如说这个10G name啊,生成一个构造shift加S。啊,随便定义了这么一个消息的事件,然后接下来回到这个。这里面啊,回到这里面。第二第三步执行完了之后呢,执行第四步啊,发送消息啊发送,那发送消息呢,我们跟这里面呢,啊是发送消息在另一个页面,那么为了方便呢,我们先在这个接收消息里啊,先注册一个接收的消息啊在这里面第五步。接收。消息。接收消息。
06:01
那怎么写呢?Public will啊,Message message event啊,Bus吧。名啊,这个名称呢,也是随便起的啊,然后里面这个参数就不能随便起了,这个参数必须是啊,你要发送那个事件这个类型啊,事件类型必须一致啊,相当于调一个频道,那这里面你有一个message。Me event就是他。啊。啊,这里是定义一个啊,定义一个message me sage啊,Event e啊event这样呢,比如一旦这个发送方啊,发送这个消息,你这边就可以接收到这个消息,接收到前提是你要加一个注解。
07:10
Su subscribe啊,这里面呢,来一个。Thread。摔的,默认的来一个。实在的妹啊,主线程中去执行啊,主线程执行这样呢就能接收到这个消息,那么我把这个接收到的消息呢,啊显示出来啊,显示接收等消息显示用什么呢?TV啊result.set test将这个event事件。ET啊,第二。我们应该有内啊,我们看一下将这里面的它变成public。啊,Public,然后回过来这里面就能调到这个name了,Name了。
08:02
啊,这是第五步,但是我们跳过了这个中间的这个发送消息的第四步,啊,Post这个消息,那这个发送消息在哪去发呢?是在另一个界面,也就是在这个页面。好,发送出去这个页面,一点击这里面的这个发送消息,它就发送出去一个时间,这个是相当于是第四。发送消息,发送消息。那这里面怎么处理呢?Even the bus.get default.post一个事件,这个事件的类型啊,必须和你这个事件类型一样的啊,也就是你这个接收方是什么类型。这接收方是什么类型,那你发送方也就是什么类型啊。好,那就再回到这里面,你有一个mass event。
09:01
这里面大家需要传递一个参数,那就是主线程发送过来的数据标识一下。这样呢,这个基本工作就做完了啊,带着带着大家再捋一下这个顺序,首先第一步。你要求在注册一个啊,这个bus先注册,注册完之后别忘了去解注册,在这个on try中啊,解注册解除册之后呢,第三步其实是去创建这么一个message event类啊,就是写一下吧,第三步。创建发送消息类。这是第三步,那么第四步呢,其实是这个在另一个界面,你要发送这个消息啊,发送这个主线程啊,发送过来的数据啊,这么一个消息事件啊,那么再回到这个bus,这个IC这里面呢,啊,你需要注册一个监听,接收到这个消息,接收到这个传递过来消息之后呢,将它进行显示。
10:08
啊,就是这么一个过程,12345,好,我们预习一下看看效果。点击这个in bus。然后呢,点击第一个跳转到发送界面啊,再看下面啊接收显示结果,这个是空白的啊,跳转过来之后,然后你点击主线程发送数据。嗯,目前我这个页面啊,忘了一件事情,忘了把当前页面销毁掉了,但是我按这个回退键啊,这边是不是也有这个主线程发送过来数据啊,啊为了效果更好一点,我将这个。发送完消息之后,我结束当前页面。Finish,好,那么再来运行一下看看效果。
11:15
点击这个bus。然后点击跳转到发送页面啊,然后。我一点击这个主线程啊,发送数据结束,当前页面这面就显示了主线程发送过来的数据啊,我已经给展示出来了啊这个过程。
我来说两句