美文网首页Android技术汇总
注解开发-自定义EventBus之路2

注解开发-自定义EventBus之路2

作者: 土肥圆的诺诺 | 来源:发表于2018-10-10 20:46 被阅读167次

虽然我们功能比较低配,但是也得显得高大上,我们这次主要依赖于注解完成低配版本传递消息功能,什么优先级和黏性事件可以没事的时候自己推导一下。
注解开发-自定义EventBus之路1 ,注解篇在这里
https://www.jianshu.com/p/e59059a509f1

没事我不要脸
我们的自定义注解和ThreadMode
自定义注解 ThreadMode

然后我们要写注册和反注册方法,这里我们要先想想怎么写?
最终目的肯定是调用我们加了自定义注解的方法
反推,我们需要调用注解的方法就需要几个要素,1,对象实例,2方法,3,方法参数
在android里面,比如我们打开了一个页面,我们不能像普通对象一样,直接new一个然后点XXX方法这是不行的,android页面存在于栈列中,所有我们必须在注册的时候,引用页面的实例,在反注册那里删除实例。
方法这里,我们可以根据查找上面标识了我们自定义注解的方法,然后和存在的实例Context对应起来,是一个1VS多的状态,基本可以设定为Context--》List<我们注解的方法>。最后一点,参数,我们只需要关注,在post的时候,发送的参数和我们上面的List<我们注解的方法>里面方法参数能对上,就开始反射调用这个方法。
那我们按照这个思路开始写代码
私有化构造函数



书写Context和1对多注解方法的集合,每次注册的时候存放方法的集合



注册方法,
注册方法
反注册方法,避免内存泄露,毕竟我们引用了实例对象
反注册方法
发送消息方法 post,当我们发送一个事件的事情,需要对我们存的Context的符合对应参数的方法进行反射调用

根据发送的事件类型,查找符合匹配参数的方法和对用的Context

反射调用


写完了测试一下,我们开启一个Service和我们主页面俩地方进行注册,发送事件试试,我们写几个方法测试下看看是否符合我们的设想
onCreate注册 onDestroy 反注册


注册 反注册

一个符合要求的方法,一个不符合要求的方法


service也写好,注意注册

添加好点击事件,开启我们的Service,点击按钮发送事件,查看log

我们的符合要求的方法接收到了消息,不符合的没啥动静,完美的成功了

我们写的low版本的事件总线完成了,那么剩下的黏性发送和优先级,ThreadMode这些我们是不是可以抽时间测试一下呢,等我抽空写完传基友网上给大家看看。

已经上传到基友网,地址:https://github.com/594dudulang/LEventBus
下次我们写一个路由router的low版本,期待吧!

相关文章

  • 注解开发-自定义EventBus之路2

    虽然我们功能比较低配,但是也得显得高大上,我们这次主要依赖于注解完成低配版本传递消息功能,什么优先级和黏性事件可以...

  • 注解开发-自定义EventBus之路

    知其然跪求知其所以然,今天我们讲一下注解开发-如何实现一个low版本的事件总线。现在androd开发会用框架可以说...

  • 注解

    注解 注解的作用? 1.传递数据2.标记 自定义注解 开发步骤 创建一个@interfaceString valu...

  • 2016.10.13-关于注解的自定义和注解的解析

    注解可以分为:1、标识性注解(没有成员变量) 2、注解 3、元注解(注解的注解) 1、注解的自定义 自定义注解的格...

  • EventBus源码解析

    EventBus的基本用法 注册事件 解除注册 发送事件 处理事件 注解@Subscribe 这是一个自定义的运行...

  • 注解的那些事儿(二)| 如何自定义注解

    自定义注解是自己写框架的必备技能,使用注解能极大地提升开发效率,因此自定义注解是一个高级开发者必备的技能。 要自定...

  • 撸一个简易的EventBus

    手撸一个简易的EventBus可以更容易理解其核心原理 1、首先自定义一个注解类,用于注册回调方法的使用 2、写一...

  • Spring Boot 从配置文件注入到自动配置(二)

    先回顾一下自定义注解 1.创建自定义注解 2.创建注解使用实体 3.创建注解解释器 执行结果: 熟悉完自定义注解在...

  • anno_proxy

    [TOC] 自定义注解 开发步骤 1.创建一个@interface2.String value();抽象方法用以接...

  • Java-Java注解(Annotation)

    一.内置注解 1.元注解(用于修饰注解定义) 2.原生注解 二.自定义注解(例) 1.定义注解 2.使用注解 3....

网友评论

    本文标题:注解开发-自定义EventBus之路2

    本文链接:https://www.haomeiwen.com/subject/xpvmaftx.html