Roboguice教程
文章平均质量分 79
Android Robojuice 教程,Dependecy Injection,ioc,guice, Spring
引路蜂
这个作者很懒,什么都没留下…
展开
-
Android RoboGuice2 使用指南(4): 综合示例Astroboy
前面介绍了RogoGuice2.0的基本用法,其它使用可以参见RoboGuice1.1开发指南,2.0中提供了对Fragment,View(自定义View中使用注入)的支持,本博客不再一一介绍。本例使用的是RoboGuice 开发包中的简单示例Astroboy(阿童木)。涉及的使用RoboGuice2.0 的一些常用方法。本例下载(Eclipse项目)。下面对项目中RoboGuice2原创 2012-07-09 16:43:21 · 6743 阅读 · 8 评论 -
Android RoboGuice2 使用指南(3): Inject 自定义View
前面介绍了Android RoboGuice2 的HelloWorld示例,并介绍了从RoboGuice 1.1 升级到RoboGuice2.0 的主要注意事项。其它的基本概念和RoboGuice1.1基本一样,可以参见Android RoboGuice 使用指南(3):Bindings 概述Android RoboGuice 使用指南(4):Linked BindingsAndroid原创 2012-07-09 08:23:03 · 5627 阅读 · 0 评论 -
Android RoboGuice2 使用指南(2): 第一个例子Hello World
本例实现的功能和例子Android RoboGuice 使用指南(2):第一个例子Hello World一样,所不同的是本例使用RoboGuice2.0 来实现。下载新的RoboGuice库,Roboguice2.0 库有四个库组成,如下图所示:库可以从 http://code.google.com/p/roboguice/下载,也可以从本站下载2. 创建一个新Android项目,原创 2012-07-08 10:49:35 · 5809 阅读 · 4 评论 -
Android RoboGuice2 使用指南(1): 概述
RoboGuice最近推出了2.0版本。和1.1相比具有:提高了稳定性支持Fragment更简洁易用但由于RoboGuice2 不完全向下兼容RoboGuice1.1,因此原来使用RobuGuice1.1开发的项目需要对代码做些修改才可以使用RoboGuice2.0.这里主要说明一下使用Eclipse IDE开发环境升级到RoboGuice2.0 的一些升级注意事项:1. 下载原创 2012-07-07 11:03:43 · 7400 阅读 · 1 评论 -
Android RoboGuice 使用指南(19):发送接收Events
Roboguice 提供了对Context 生命周期相关的事件的send 和receive ,系统缺省支持的事件为:OnActivityResultEventOnConfigurationChangedEventOnContentChangedEventOnContentViewAvailableEventOnCreateEventOnDestroyEventOnNewIntentEven原创 2012-05-09 18:38:53 · 5578 阅读 · 0 评论 -
Android RoboGuice 使用指南(18):Inject Resources
Roboguice 对访问res 目录下各种资源drawable, arrary, string 等也提供了注入支持。可以通过@InjectResource 很方便的应用所需资源。本例修改Android ApiDemos示例解析(48):Content->Resources->Resources 使用Inject Resource方法来访问资源。public class InjectRes原创 2012-05-07 08:21:07 · 4444 阅读 · 1 评论 -
Android RoboGuice 使用指南(17):Inject Extra
使用Intent 启动一个Activity,Service等时,可以通过putExtra 传送数据,被触发的Activity,Service可以使用getIntent()的getExtras 取的Extra的Bundle ,然后再根据Extra的键值(Key)取的对应的参数值。RoboGuice提供了一个简洁的方法来取得 这些Extra 值,通过@InjectExtra 标记。本例使用两个原创 2012-05-07 08:20:03 · 5124 阅读 · 0 评论 -
Android RoboGuice 使用指南(16):Standard Injection
为方便起见,Roboguice针对Android平台常用的一些对象或服务提供了“标准注入”支持。比如无需使用(SensorManager) getSystemService(SENSOR_SERVICE) 来取得SensorManger 实例,而直接使用@Inject 标记@Inject SensorManager sensorManager;Roboguice 自动为sensorMana原创 2012-05-07 08:17:55 · 4531 阅读 · 0 评论 -
Android RoboGuice 使用指南(15):Inject Context
在Android应用程序中,很多地方需要引用到Context对象(Activity,Application,Service等)。Roboguice 使得引用Context对象变得非常容易。可以参见下面例子,这里定义一个不在Activity中的类ContextInfo,需要引用Context对象:class ContextInfo{ final Context context; @I原创 2012-05-07 08:17:04 · 5497 阅读 · 0 评论 -
Android RoboGuice 使用指南(14):Inject View
在例子Android RoboGuice 使用指南(2):第一个例子Hello World 介绍了使用Roboguice开发的基本步骤:创建一个RoboApplication 的子类GuiceApplication,GuiceApplication为Appliacation的子类,修改AndroidManifest.xml,将Application 的name 指向这个类。将原先由Acti原创 2012-05-07 08:14:27 · 7339 阅读 · 3 评论 -
Android RoboGuice 使用指南(13):RoboGuice 功能描述
前面在Android RoboGuice 使用指南(1):概述 对应Roboguice做了简要的介绍,之后介绍了Google Guice的基本用法,Roboguice是基本Android和Google Guice开发的适用于Android平台的Dependency Injection 开发包,下图为使用Roboguice开发应用的基本框图:Android应用程序可以直接使用Google G原创 2012-05-04 06:53:55 · 4893 阅读 · 1 评论 -
Android RoboGuice 使用指南(12):如何绑定generic类型
如果需要注入某个参数化类型,比如List:class Example { @Inject void setList(List list) { ... }}可以使用TypeLiteral 来创建这个绑定。TypeLiteral 为一特殊类型可以用于表示参数化类型。@Override public void configure() {bind(new TypeLiteral原创 2012-05-04 06:52:59 · 4415 阅读 · 0 评论 -
Android RoboGuice 使用指南(10): Just-in-time Bindings
Injector 通过检查bindings 定义来创建某个类型的实例对象。定义在Module中的绑定称为“明确声明绑定(Explicit bindings”。Injector 会首先使用带有Explicit Bindings为某个类型创建实例对象。 当但某个类型没有明确定义绑定时,Injector 试图构造“即时绑定(Just-in-time Bindings),JIT Bindings 也成为隐原创 2012-05-04 06:47:35 · 4125 阅读 · 0 评论 -
Android RoboGuice 使用指南(9):Untargetted Bindings
在创建Bindings时,也可以不给出绑定的目标,通常用于含有@ImplementedBy 和@ProvidedBy (后面介绍)的实类(Concrete classes 或type)。 Untargeted bindings 目的是通知Injector 某个类类型,从而Injector可以预先准备某个依赖。Untargetted Bindings不含to语句。例如:bind(MyConc原创 2012-05-04 06:44:43 · 4234 阅读 · 0 评论 -
Android RoboGuice 使用指南(8):Provider Bindings
如果@Provides方法很复杂的话,可以将这些代码移动到单独的类中。这个类需要实现Guice的Provider 接口,该接口定义如下public interface Provider { T get();} 为一个generic 接口。本例我们定义一个PathProvider,用于返回一个Path对象:public class PathProvider impleme原创 2012-05-04 06:43:23 · 4362 阅读 · 0 评论 -
Android RoboGuice 使用指南(7):@Provides Methods
上例说过如果需要构造一些较复杂的类的实例,通常的方法是使用@Provides 方法。这个方法必须定义在模块中(Module),而且必须使用@Provides 标注,在个方法的返回类型则绑定到这个方法返回的对象实例。如果这个方法带有binding Annotation或是@Named(“xxx”),Guice则将@Provides方法返回的对象绑定到这个annotated 类型。本例使用原创 2012-05-04 06:41:16 · 4373 阅读 · 0 评论 -
Android RoboGuice 使用指南(6):Instance Bindings
我们在前面例子Android RoboGuice 使用指南(4):Linked Bindings 时为简单起见,定义MyRectangle和MySquare时为它们定义了一个不带参数的构造函数,如MyRectangle的如下:public class MyRectangle extends Rectangle{ public MyRectangle(){ super(50,50,100,1原创 2012-05-04 06:34:43 · 4627 阅读 · 0 评论 -
Android RoboGuice 使用指南(5):Binding Annotations
有些情况需要将同一类型映射到不同的类实现,还是使用绘图的例子.IShape, Rectangle, MyRectangle, MySquare,有如下继承关系:我们可能需要将IShape 同时映射到MyRectangle 和MySquare ,这时可以使用Binding Annotation 来实现。 这时使用类型和annotation (标注)可以唯一确定一个Binding。Ty原创 2012-05-03 08:29:35 · 5018 阅读 · 0 评论 -
Android RoboGuice 使用指南(4):Linked Bindings
Roboguice 中最常用的一种绑定为Linked Bindings,将某个类型映射到其实现。这里我们使用引路蜂二维图形库中的类为例,引路蜂二维图形库的使用可以参见Android简明开发教程八:引路蜂二维图形绘制实例功能定义。使用下面几个类 IShape, Rectangle, MyRectangle, MySquare, 其继承关系如下图所示:下面代码将IShape 映射到MyRe原创 2012-05-03 08:26:32 · 4957 阅读 · 2 评论 -
Android RoboGuice 使用指南(3):Bindings 概述
一个应用中类于类之间的依赖关系可能非常复杂,创建于个类实例,需要先创建类所依赖的类的示例,而创建所依赖类的实例,这些类又可能依赖其它类,以此类推。因此在创建一个类实例时,你正在需要创建的是一个对象图对象(Object Graph)。手工创建Object Graph 是一个非常繁琐而且容易出错的过程,并且很难对代码进行测试,而Guice或Roboguice可以帮助你创建Object Graph,原创 2012-05-03 08:24:07 · 5189 阅读 · 0 评论 -
Android RoboGuice 使用指南(2):第一个例子Hello World
首先介绍一下如果将Guice 和RoboGuice 的库添加到项目中。下载RoboGuice和guice-2.0-no_aop.jar(not guice-3.0),或者下载创建一个新Android项目,比如GuiceDemo,目标平台Android1.5以上。一般可以在该项目下添加一个lib目录,将两个jar文件拷到lib目录下,然后通过: Project > Properties >原创 2012-05-03 08:22:21 · 7582 阅读 · 4 评论 -
Android RoboGuice 使用指南(1):概述
在开发应用时一个基本原则是模块化,并且近最大可能性地降低模块之间的耦合性。在Java平台上Spring Framework 以及.Net 平台CAB ,SCSF 和Prism (WPF,Silverlight)中都有对Dependency injection 的支持。Dependency injection 大大降低了类之间的依赖性,可以通过annotation (Java)或是Sevic原创 2012-05-03 08:19:09 · 10470 阅读 · 6 评论