博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
资料描述Android依赖注入:Google Guice on Android
阅读量:6387 次
发布时间:2019-06-23

本文共 1688 字,大约阅读时间需要 5 分钟。

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

    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有资料和源码

    文中的资料:

文章结束给大家分享下程序员的一些笑话语录: IBM和波音777

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

转载地址:http://eibha.baihongyu.com/

你可能感兴趣的文章
微软牛津计划-语音转文本-文本转语音代码和实现
查看>>
分享mac磁盘清理的方法
查看>>
项目管理的五个过程和九大知识领域
查看>>
android keytool 不是内部命令或外部命令在 (win7下不能用的解决方法)
查看>>
Kernel Changes
查看>>
再谈主成分分析
查看>>
JavaScript获取DOM元素位置和尺寸大小
查看>>
Netty线程模型
查看>>
linux的文件系统及节点表
查看>>
JavaScript为unicode编码转换为中文
查看>>
c 高级函数的简单用法
查看>>
[HTML]JS添加表格
查看>>
C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】
查看>>
git版本回退
查看>>
win10 rabbitMQ的安装与测试
查看>>
Mqtt ----心跳机制
查看>>
180404
查看>>
远程连接身份验证错误,又找不到加密Oracle修正
查看>>
C++三种内存分配方式
查看>>
谷歌为URL缩短服务goo.gl开放API
查看>>