Roboguice 中最常用的一种绑定为Linked Bindings,将某个类型映射到其实 现。这里我们使用引路蜂二维图形库中的类为例,引路蜂二维图形库的使用可以 参见Android简明开发教程八:引路蜂二维图形绘制实例功能定义。
使用 下面几个类 IShape, Rectangle, MyRectangle, MySquare, 其继承关系如下图所示:
下面代码将IShape 映射到MyRectangle
public class Graphics2DModule extends AbstractAndroidModule{ @Override protected void configure() { bind(IShape.class).to(MyRectangle.class); } }
此时,如果使用injector.getInstance(IShape.class) 或是injector 碰到依赖于IShape地方时,它将使用MyRectangle。可以将类型映射到它任意子类 或是实现了该类型接口的所有类。也可以将一个实类(非接口)映射到其子类, 如
bind(MyRectangle.class).to(MySquare.class);
下面例子使用 @Inject 应用IShape.
public class LinkedBindingsDemo extends Graphics2DActivity{ @Inject IShape shape; protected void drawImage(){ /** * The semi-opaque blue color in * the ARGB space (alpha is 0x78) */ Color blueColor = new Color(0x780000ff,true); /** * The semi-opaque yellow color in the * ARGB space ( alpha is 0x78) */ Color yellowColor = new Color(0x78ffff00,true); /** * The dash array */ int dashArray[] = { 20 ,8 }; graphics2D.clear(Color.WHITE); graphics2D.Reset(); Pen pen=new Pen(yellowColor,10,Pen.CAP_BUTT, Pen.JOIN_MITER,dashArray,0); SolidBrush brush=new SolidBrush(blueColor); graphics2D.setPenAndBrush(pen,brush); graphics2D.fill(null,shape); graphics2D.draw(null,shape); } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索class
, 图形
, color
, graphics
, 类型
, pen d微信
, 环境二维码软件link
, 搭桥引路
二维
roboguice、roboguice3.0 使用、guice、guice 教程、google guice,以便于您获取更多的相关知识。