AndroidAnnnotations注入框架使用之第三方框架集成RoboGuice(十三)

 

 

(一).前言:

前面我们已经对于AndroidAnnotations框架的线程处理做了讲解,今天我们开始具体学习一下第三方框架集成。

 

(二).RoboGuice集成

2.1.简介说明

自AndroidAnnotations1.0起,AndroidAnnotations已经完成集成了RoboGuice1.1.1。

自AndroidAnnotations3.1起,发布的RoboGuice1.0版本已经从RoboGuice2.0版本中移除了。

自AndroidAnnotations3.3起,从发布的RoboGuice3.0版本开始,该更新已经被支持。现在RoboGuice的最新版本是3.0。

 

AndroidAnnnotations注入框架使用之第三方框架集成RoboGuice(十三)

AndroidAnnnotations注入框架使用之第三方框架集成RoboGuice(十三)

 

2.2.集成RoboGuice和AndroidAnnotations

  • 集成AndroidAnnotations框架到项目中(具体方法见:【FastDev4Android框架开发】AndroidAnnnotations注入框架介绍和Android Studios基本配置(七)
  • 集成RoboGuice框架到项目中(具体方法见:RoboGuice使用详解)
  • 修改我们的Activity,现在不需要该Activity继承RoboActivity了,[email protected](原来使用RoboGuice是需要Activity继承RoboActivity的)。
  • 现在让我们来看一下使用的例子

     

    @EActivity(R.layout.main)
    @RoboGuice({AstroListener.class,AnotherListener.class})
    public classAstroGirl extends Activity {
     
        @ViewById
        EditText edit;
     
        @Inject
        GreetingService greetingService;
     
        @Click
        void button() {
            String name =edit.getText().toString();
            greetingService.greet(name);
        }
    }
     
    public classAstroListener {
     
            @Inject
            Context context;
     
            public voiddoSomethingOnResume(@Observes OnResumeEvent onResume) {
                    Toast.makeText(context,Activity has been resumed, Toast.LENGTH_LONG).show();
            }
    }
    2.3.RoboGuice优点

     

    RoboGuice对于Android应用程序有GoogleGuice框架的支持,这意味着我们可以从依赖注入获得更加的优势,高内聚,低耦合。

    2.4.AndroidAnnotations优点

    • 在Android编译的时候进行注入组件(没有性能的影响)
    • 我们不需要在继承RoboActivity类了,这意味中我们可以集成任何类了,哪怕这些类不支持RoboGuice。这样我们就可以更多思考如何扩展我们的基类。
    • [email protected],@Background,@UiThread,@ItemSelect等等注解。

       

      2.5.@EBean中使用RoboGuice

      自AndroidAnnotations2.4起

      [email protected][email protected][email protected][email protected]消息是:现在他们没有花很多精力在RoboGuice上面,因为如果要全面支持RoboGuice,那么现在项目需要改动很多地方了。

      [email protected]RoboGuice,你只需要手动进行Guice注入,就和RoboActivity达到一样的效果啦。使用实例如下:

       

      @EBean
      public class MyBean{
       
          @App
          MyRoboApplication application;
       
          @Inject
          SomeClass myRoboGuiceDependency;
       
          @AfterInject
          void injectRoboGuiceDependencies() {
             application.getInjector().injectMembers(this);
          }
       
      } 

       

      到此位置关于AndroidAnnotations第三方框架集成之RoboGuice集成已经全部讲解完成了。

       

更多相关文章
  • 在上一篇从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漏洞补丁"为名诱使用户下载安装,病毒安装后,会未经用户同意,暗中启动任务管理应用,建立任务,影响用户对手机的正常使用,并可能触发窃取隐私的行 ...
一周排行
  • 一.元素的分类 1.内联元素:不独占一行,不能设置宽高,对其设置的margin,padding,不会影响垂直位置. 如<a>.<span>.<br>.<i>.<e ...
  • 作者: December近日,某网友突然破解告急,非要我帮他看看一个软件的算法,耐烦不得,只好抽点时间看看,传了过来之后,才知道是QQ三剑客 3.0.它是一款功能强大.使用方便.界面美观的QQ辅助类工具,具有QQ自动 ...
  • 只需需要在info.plist中加入Status bar is initially hidden 设置为YES   补充一下,现在手机越来越快,在6+下面启动图一闪而过,而美工童鞋辛辛苦苦做的图就看不到鸟,并且一下活 ...
  • InterProScan 5.3.0 安装,目前最新版的interproscan 引用自 每日一生信--interproscan安装及使用(终结版)原文官网:http://code.google.com/p/ ...
  • 最短路径: poj1125 - Stockbroker Grapevine(多源最短路径,floyd) poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman-ford,spf ...
  • 1 简介可执行链接格式(Executable and Linking Format)最初是由 UNIX 系统实验室(UNIX System Laboratories,USL)开发并发布的,作为应用程序二进制接口(Ap ...
  • 数据库经典查询题目   设有学生选取修课程数据库:  S(Sid, SNAME, AGE, SEX, DEPARTMENT, ADDRESS, BIRTHPLACE)  SC(Sid, Cid, GRADE)  C( ...
  • 宏碁在上月底时第一次展示了自家首款LumiRead电子书阅读器,在上周结束的台北电脑展上,宏碁再次对该电子书进行了展示. 宏碁此次展示的电子书型号为LumiRead L600,整体设计风格和之前亚马逊Kindle相仿 ...
  • 本篇包括tip321-tip330 http://www.watch-life.net/visual-studio/visual-studio-2008-tip-day-32.html #321.使用xml可视化工具 ...
  • 准备: 新版本的 MegaCli-1.01..i386.rpm (下载地址:http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.02 ...