AndroidAnnnotations注入框架使用之第三方框架集成Otto事件总线(十四)

 

 

本文出自:【江清清的博客】

(一).前言:

前面我们已经对于AndroidAnnotations框架集成RoboGuice做了讲解,今天我们开始具体学习一下第三方框架集成Otto事件总线。Otto事件总线和我们经常使用Eventbus差不多。Otto 官网: http://square.github.io/otto/,Otto框架的主要功能是帮助我们来降低多个类之间的耦合度的(解耦)。

 

(二).集成Otto和AndroidAnnotations

  • 集成AndroidAnnotations框架到项目中(具体方法见:【FastDev4Android框架开发】AndroidAnnnotations注入框架介绍和Android Studios基本配置(七)
  • 集成otto框架到项目中(具体请查看http://square.github.io/otto/)这边讲一下AndroidStudio配置吧:

    dependencies {

    compile 'com.squareup:otto:1.3.8'

    }

    • [email protected]
    • 创建通过事件总线传输分发的事件类
    • 使用bus.post()来进行发送事件到事件总线中
    • [email protected]

      [email protected]:

       

      // Declare the busas an enhanced bean
      @EBean(scope =Scope.Singleton)
      public class OttoBusextends BasicBus {
       
      }
      public classUpdateTitleEvent {
       
              public final String title;
       
              public UpdateTitleEvent(String title) {
                      this.title = title;
              }
       
      }

      @EActivity(R.layout.hello_activity)
      public classHelloAndroidActivity extends FragmentActivity {
       
              @Bean
              OttoBus bus;
       
              @Override
              protected void onCreate(BundlesavedInstanceState) {
                     super.onCreate(savedInstanceState);
                      bus.register(this);
              }
       
              @Override
              protected void onDestroy() {
                      super.onDestroy();
                      bus.unregister(this);
              }
       
          @Subscribe
          public void onUpdateTitle(UpdateTitleEventevent) {
              setTitle(event.title);
          }
       
      }

      @EFragment(R.layout.hello_fragment)
      public classHelloFragment extends Fragment {
       
          int counter = 1;
       
          @Bean
          OttoBus bus;
       
          @Click
          void fragmentButtonClicked() {
              bus.post(newUpdateTitleEvent(Clicks:  + counter++));
          }
      }
      到此位置关于AndroidAnnotations第三方框架集成之Otto集成已经全部讲解完成了。

       

       

更多相关文章
  • 在上一篇从struts2的action中看ActionContext的存储结构中已经看到ActionContext.getActionContext.getContextMap()得到的map的大体结构类型. 这篇将从源代码层面进行分析. 一.回顾 在上一篇中看到ActionContext中存放的是 ...
  •   随着高清摄像机的使用越来越多,如何选择合适的.满足监控整体网络架构性能的交换机也成了在高清监控系统前期方案制定.项目报价中有着很重要的作用.一个合适的交换机,不仅能够发挥监控网络应有的功能并能够有效减少资源的浪费. 监控网络有三层架构方式:核心层.汇聚层.接入层. 以选用720P的摄像机为例,分 ...
  • 亿邦动力网最新获悉,万达电商CEO董策已于近期离职.亿邦动力网就此向万达电商官方核实,对方称并未接到类似消息,且董本人今天仍照常上班.董策离职虽然稍显突然,但并非没有蛛丝马迹.此前,亿邦动力网等诸多媒体曾接收到来自万达电商方面的邀请,并定于6月4日下午在北京与万达电商众高管会面.但万达电商下午却告知 ...
  • 1.1 概念 高可用集群,英文原文为High Availability Cluster,简称HA Cluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统 就是集群的节点(node). 高可用集群的出现是为了使集群的整体服务尽可能可 ...
  • 写在前面 阅读目录: Visual Studio "14" CTP 关于 ASP.NET vNext ASP.NET vNext 实践 后记 ASP.NET vNext 发布已经过去了一个多月的时间,发布详情请访问:振奋人心呐!关于下一代.NET——ASP.NET vNext 的 ...
  • 28日,网秦全球手机安全中心再度截获了一个名为"Nokia补丁骗子(BD.ConsApp)"的病毒,该病毒以"Nokia漏洞补丁"为名诱使用户下载安装,病毒安装后,会未经用户同意,暗中启动任务管理应用,建立任务,影响用户对手机的正常使用,并可能触发窃取隐私的行 ...
一周排行
  •   可以说这是个瓶颈生成树的题? 不算很难的图论题,构思非常巧妙... 二分生成树的最大边权x,判断这样的生成树是否存在就行了... 每次判断时分成两步走,首先要限制c1小于等于x,判断生成树中的树边个数是否小于等于 ...
  • Qglfnts Blog 数据库这玩意谁不知道?只要是站长或玩黑的都清楚不过了,一旦被某Y下载了,那可不是闹着玩的.(片头语)看了7月的X档案的一篇数据库防下载新招之"#%"一文,貌似作者讲的有问 ...
  • Ext.onReady(function(){ Ext.QuickTips.init(); Ext.create('Ext.form.Panel',{ title:'form2', width:300, height ...
  • ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者 ...
  • 曾经想做UML工具的人都知道eclipse的GEF是一个很好的选择,可不爽的是如果你要使用GEF来完成那么你就的开发一个完整的eclipseRCP程序,这点我不喜欢.好比你去买猪肉一样偏偏要搭上那么些肥肉给你.刚好最 ...
  • 一.SQL的使用 CREATE.ALTER和DROP是主要的3种DDL语句,这些语句被用于在数据库中添加.修改或删除对象. DCL语句包括GRANT和REVOKE命令,它们可以被用于为用户或角色授予或取消权限,可以被 ...
  •   notify_url.jsp,return_url.jsp这两个页面能改成action的吗? ----------------------------------------------------------- ...
  • 今天小编为大家带来了天天酷跑周年庆版本邮件等级bug详解,感兴趣的朋友们可以跟着小编去下文了解一下哦 今天小编为大家带来了天天酷跑周年庆版本邮件等级bug详解,感兴趣的朋友们可以跟着小编去下文了解一下哦! <天 ...
  • 我们经常会遇到需要比较同一文件的不同版本,特别是代码文件.如果人工去对比查看,势必费时实力还会出现纰漏和错误,因此我们需要借助一些代码比较的工具来自动完成这些工作.这里介绍3款比较流行且功能强大的工具. 1. Bey ...
  • 练习了for循环.while等等! 一.打印菱形:   Console.Write("请输入一个数");             int n = Convert.ToInt32(Console.R ...