Android RoboGuice2使用指南(1) 概述

RoboGuice最近推出了2.0版本。和1.1相比具有:

提高了稳定性

支持Fragment

更简洁易用

但由于RoboGuice2 不完全向下兼容RoboGuice1.1,因此原来使用 RobuGuice1.1开发的项目需要对代码做些修改才可以使用RoboGuice2.0.

这里主要说明一下使用Eclipse IDE开发环境升级到RoboGuice2.0 的一些升级注 意事项:

1. 下载新的RoboGuice库,Roboguice2.0 库有四个库组成,如 下图所示:

库可以从 http://code.google.com/p/roboguice/下载。

2. 原先1.1中的RoboApplication 在2.0 已经不存在了。2.0使用上更方便, 通常的应用如果不是有自定义绑定的话,无需再派生Application。

3. 如果你使用了自定义的Module来定义Bindings,在2.0中可以通过XML来定义,比 如在res/values/roboguice.xml 定义

<?xml version=”1.0″ encoding=”utf-8″?>

<resources>

<string-array name=”roboguice_modules” >

<item>com.pstreets.guice.demo.GreetingModule</item >

</string-array> </resources>

4. 原先由 AbstractAndroidModule派生的类,在2.0中改为AbstractModule ,如:

ublic class GreetingModule extends AbstractModule {

@Override protected void configure() { bind (IGreetingService.class).to(HelloWorld.class); //bind (IGreetingService.class).to(HelloChina.class); }

}

5. 修改 AndroidManifest.xml ,去除原来定义的RoboApplication派生类定义,并在代 码中去除RoboApplication派生类定义。

以上是主要从RoboGuice1.1 升 级到2.0的主要步骤。在学习2.0之前,可以参考一下1.1的介绍,基本概念还是 一样的。

时间: 2024-12-21 10:52:46

Android RoboGuice2使用指南(1) 概述的相关文章

Android RoboGuice2使用指南(4) 综合示例Astroboy

前面介绍了RogoGuice2.0的基本用法,其它使用可以参见RoboGuice1.1开发 指南,2.0中提供了对Fragment,View(自定义View中使用注入)的支持,本博 客不再一一介绍. 本例使用的是RoboGuice 开发包中的简单示例 Astroboy(阿童木).涉及的使用RoboGuice2.0 的一些常用方法. 本例 下载(Eclipse项目). 下面对项目中RoboGuice2的使用进行解释.因为 本例没使用自定义绑定,所以无需使用res/values/roboguice.

Android RoboGuice2使用指南(2) 第一个例子Hello World

本例实现的功能和例子Android RoboGuice 使用指南(2):第一个例子Hello World一样,所不同的是本例使用RoboGuice2.0 来实现. 下载新的RoboGuice库,Roboguice2.0 库有四个库组成,如下图所示: 库可以从 http://code.google.com/p/roboguice/下载. 2. 创建一个新Android项目,比如GuiceDemo,目标平台Android1.5以上. 3. 一般可以在该项目下添加一个libs目录,将两个jar文件拷到

Android RoboGuice2使用指南(3) Inject自定义View

前面介绍了Android RoboGuice2 的HelloWorld示例,并介绍了从RoboGuice 1.1 升级到RoboGuice2.0 的主要注意事项. 本例介绍如何Inject自定义 的View,Inject自定义的View和Android自带的View(如TextView,Button)方 法一样. 本例使用一个自定义的TextView,每隔1秒显示当前时间.前定 义如下: //--------------------------------- PACKAGE -------- -

Android RoboGuice使用指南(1) 概述

在开发应用时一个基本原则是模块化,并且近最大可能性地降低模块之间的耦 合性.在Java平台上Spring Framework 以及.Net 平台CAB ,SCSF 和Prism (WPF,Silverlight)中都有对Dependency injection 的支持. Dependency injection 大大降低了类之间的依赖性,可以通过annotation (Java)或是 SeviceDepdendcy (.Net) 描述类之间的依赖性,避免了直接调用类似的构造函数 或是使用Fact

Android RoboGuice使用指南(13) RoboGuice功能描述

前面在Android RoboGuice 使用指南(1):概述 对应Roboguice做了简要的介绍 ,之后介绍了Google Guice的基本用法,Roboguice是基本Android和Google Guice开发的适用于Android平台的Dependency Injection 开发包,下图为使用 Roboguice开发应用的基本框图: Android应用程序可以直接使用Google Guice来为普通类进行注入操作,而对 和Android平台相关的类如Activity,Context,

Android RoboGuice使用指南(15) Inject Context

在Android应用程序中,很多地方需要引用到Context对象(Activity, Application,Service等).Roboguice 使得引用Context对象变得非常容易. 可以参见下面例子,这里定义一个不在Activity中的类ContextInfo,需 要引用Context对象: class ContextInfo{ final Context context; @Inject ContextInfo(Context context){ this.context=conte

Android RoboGuice使用指南(14) Inject View

在例子Android RoboGuice 使用指南(2):第一个例子Hello World 介绍了使用 Roboguice开发的基本步骤: 创建一个RoboApplication 的子类GuiceApplication,GuiceApplication为 Appliacation的子类,修改AndroidManifest.xml,将Application 的name 指向这 个类. 将原先由Activity派生的类基类改为RoboActivity(或其它相关 Activity). 如果有需要的话

Android RoboGuice使用指南(10) Just-in-time Bindings

Injector 通过检查bindings 定义来创建某个类型的实例对象.定义在Module 中的绑定称为"明确声明绑定(Explicit bindings".Injector 会首先使用带 有Explicit Bindings为某个类型创建实例对象. 当但某个类型没有明确定义绑 定时,Injector 试图构造"即时绑定(Just-in-time Bindings),JIT Bindings 也成为隐含绑定(implicit bindings). Eligible Cons

Android RoboGuice使用指南(6) Instance Bindings

我们在前面例子Android RoboGuice 使用指南(4):Linked Bindings 时为简单 起见,定义MyRectangle和MySquare时为它们定义了一个不带参数的构造函数,如 MyRectangle的如下: public class MyRectangle extends Rectangle{ public MyRectangle(){ super(50,50,100,120); } public MyRectangle(int width, int height){ s