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漏洞补丁"为名诱使用户下载安装,病毒安装后,会未经用户同意,暗中启动任务管理应用,建立任务,影响用户对手机的正常使用,并可能触发窃取隐私的行 ...
一周排行
  • 一.bash中如何实现条件判断 1.条件测试类型: a)整数测试:两值是否相等: b)字符测试:某个变量是否包含abc; c)文件测试:判断文件是否存在: 2.条件测试的表达式: a)[ expression ] b ...
  • 在Android中,弹出对话框使用AlertDialog.Builder方法. new AlertDialog.Builder(MainActivity.this).setTitle("本机设置" ...
  •  此为网络编程的一个系列,后续会把内容补上....
  • 首先我们需要用到JSBadgeView这个第三方库,在需要用到的类文件中导入: 然后我们需要给badge绑定一个数据,用来显示数字,我采用如下方法将值暂存,在需要显示时取出来: NSUserDefaults *pre ...
  • - android培训.java培训.期待与您交流! - 什么是异常 异常就是Java程序在运行过程中出现的错误.  如程序要打开一个不存的文件.网络连接中断.操作数组越界.装载一个不存在的类等.   异常由来:问题 ...
  • 发现一腾讯 iweibo Java API Bug,Bug 发生于 iweibo API 函数处在 EJB 内,而在非 EJB(如web应用本身.客户端程序等非远程调用),应该是相同的引用在进行比较,则没有引发错误. ...
  • 同RGB颜色空间相比,Lab是一种不常用的色彩空间.它是在1931年国际照明委员会(CIE)制定的颜色度量国际标准的基础上建立起来的.1976年,经修改后被正式命名为CIELab.它是一种设备无关的颜色系统,也是一种 ...
  • 杨虔豪:相较实体报纸或电视,现在大家应该更常通过网络来浏览新闻,而入口网站正是一般网友获得讯息的最初媒介.近来,在搜寻市场市占率超过7成的南韩最大入口网站NAVER在新闻页面上做了一番革新,没想到却对媒体业造成冲击. ...
  • 普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: [java] view plaincopy pub ...
  • 1.虚拟主机配置 windows: 1)加载配置虚拟主机的配置文件,在Apache/conf中找到httpd.conf文件,并搜索出以下的两句话,将Include conf/extra/httpd-vhosts.co ...