Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter方法)进行注入。(Guice百科

RoboGuice是Guice的Android版本。项目主页:http://code.google.com/p/roboguice/

项目介绍翻译:http://www.cnblogs.com/xiongbo/archive/2011/05/30/2063350.html

下载和安装:http://code.google.com/p/roboguice/wiki/Installation

下载安装翻译:http://www.th7.cn/Program/Android/2011-07-06/18742.shtml

除了项目主页,这个CSDN博客是很好的学习RoboGuice的地方

以下来自:http://hi.baidu.com/%D0%A1%B7%EF%EC%E3%EC%E3/blog/item/593b269bc55a67da503d9240.html

我们知道Roboguice是基于Android和Google Guice开发的适用于Android平台的Dependency Injection 开发包。

Android应用程序可以直接使用Google Guice来为普通类进行注入操作,而对和Android平台相关的类如Activity,Context,Service,View等可以使用Roboguice 进行注入操作。

在 例Android RoboGuice 使用指南(2):第一个例子Hello World 介绍了使用RoboGuice开发的步骤,原先从Activity派生的类一般需要改成从RoboActivity派生,并添加从 RoboApplication派生的类作为Application应用的Application类。

 

RoboGuice支持的标记如下:

@ContextScoped : 表示Scope为Context 范围 Android RoboGuice 使用指南(11): Scopes

@InjectExtra : Intent的getExtra 的注入标记

@InjectPreference: 注入Preference

@InjectResource: 注入Resource,如drawable, icon 等

@InjectView: 注入View

@Inject: Guice标记,可以注入Android平台支持的各种服务,比如LocationManager等。

@SharedPreferencesName: SharedPreferences 名称等

此外,RoboGuice还提供了简单的消息publish/subscribe 机制,以及可以支持Dependency Injection的RoboThread, RoboAsyncTask ,RoboLooperThread 等。