zoukankan      html  css  js  c++  java
  • 资料描述Android依赖注入:Google Guice on Android

    本文笔者在上海喝咖啡的时候突然想到的...这几周就有想写几篇关于资料描述的笔记,所以回家到之后就奋笔疾书的写出来发布了

        RoboGuice 应用谷歌自己的Guice库,给Android带来了单简和易用的依赖注入。如果你应用过Spring或Guice的话,你可能经已道知这类编程式方是如许的便捷。

        RoboGuice 答应应用annotation 的式方来描述id于View之间的系关,其余的作工由roboGuice库来实现。比如:

    class AndroidWay extends Activity {
     TextView name;
     ImageView thumbnail;
     LocationManager loc;
     Drawable icon;
     String myName;
    
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     name      = (TextView) findViewById(R.id.name);
     thumbnail = (ImageView) findViewById(R.id.thumbnail);
     loc       = (LocationManager) getSystemService(Activity.LOCATION_SERVICE);
     icon      = getResources().getDrawable(R.drawable.icon);
     myName    = getString(R.string.app_name);
     name.setText( "Hello, " + myName );
     }
    }

        如果应用roboguice 来写:

        每日一道理
    风,渐渐吹起,吹乱了我的发丝,也让我的长裙有些飘动。绿叶仿佛在风中起舞,离开了树,投向了大地,却不知这样会枯萎,我弯下腰,轻轻拾起一片树叶,那非常有序的茎脉,是一种美的点缀。我有些哀叹:绿叶啊,绿叶,你这般美丽地从树上轻轻飘下,随风起舞,却不知已被人称之为落叶!
    class RoboWay extends RoboActivity {
     @InjectView(R.id.name)             TextView name;
     @InjectView(R.id.thumbnail)        ImageView thumbnail;
     @InjectResource(R.drawable.icon)   Drawable icon;
     @InjectResource(R.string.app_name) String myName;
     @Inject                            LocationManager loc;
    
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     name.setText( "Hello, " + myName );
     }
    }

        

        只要应用@InjectView 来描述 view 和Id之间的系关,RoboGuice 动自实现余下的作工,代码简练易读。

        

        意注:activity必须继承自RoboActivity

        

        收集到的一些资料:github有资料和源码https://github.com/roboguice/roboguice

        文中的资料:http://daimajishu.iteye.com/blog/1610501

    文章结束给大家分享下程序员的一些笑话语录: IBM和波音777
      波音777是有史以来第一架完全在电脑虚拟现实中设计制造的飞机,所用的设备完全由IBM公司所提供。试飞前,波音公司的总裁非常热情的邀请IBM的技术主管去参加试飞,可那位主管却说道:“啊,非常荣幸,可惜那天是我妻子的生日,So..”..
      波音公司的总载一听就生气了:“胆小鬼,我还没告诉你试飞的日期呢!”

  • 相关阅读:
    替代或者与 Redis 配合存储十亿级别列表的数据.
    Python中高层次的数据结构,动态类型和动态绑定,使得它非常适合于快速应用开发,也适合于作为胶水语言连接已有的软件部件。
    伪类 伪元素
    模块与你的主业务代码是应该解耦的
    MarkdownPad
    长度区间校验公共方法,引入棉花糖
    不可见字符
    eval is not a function
    for (const k in v){ 变量作用域
    爬虫站点的历史入库数据,对入库数据的无外网处理,幂等操作;反之,不幂等操作
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3057388.html
Copyright © 2011-2022 走看看