前面在Android RoboGuice 使用指南(1):概述 对应Roboguice做了简要的介绍,之后介绍了Google Guice的基本用法,Roboguice是基本Android和Google Guice开发的适用于Android平台的Dependency Injection 开发包,下图为使用Roboguice开发应用的基本框图:
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 等,将在后面的文章详细说明。