【五】注入框架RoboGuice使用:(Your First POJO Injection)
来源:互联网 发布:燕雀焉知鸿鹄之志图片 编辑:程序博客网 时间:2024/04/30 14:10
上一篇我们简单的介绍了一下RoboGuice的使用( 【四】注入框架RoboGuice使用:(Your First System Service Injection)),今天我们来看下普通Java对象的使用注解的方法:
(一)为了在Activity中普通Java对象使用注解,必须实现以下两个步骤:
①:创建继承RoboActivity的Activity
②:使用 @Inject来进行注解POJO(普通java对象)
在前面我们介绍了View控件,资源文件(Resources),系统服务(System Service)等Android平台特有的注解方法,RoboGuice同时也支持注解 Plain Old Java Objects(普通Java对象)。但是Roboguice只会默认去调用该对象的无参数的构造方法,所以我们需要注解的类必须有该无参构造方法。
看下面的这个例子:
- class MyActivity extends RoboActivity {
- @Inject Foo foo; // this will basically call new Foo();
- }
(二)使用带有参数构造函数注解
如果有的情况下我们不想使用默认的构造函数,而是使用一个特定带有参数的构造函数,你有下面两种选择:
①:你可以对POJO(普通java对象)的构造函数进行注解
②:你可以创建一个provider和一个binding来进行实现
第二种的方法我会写一篇专门的文章进行介绍,到时候各位童鞋可以去看下。今天我们先关注第一个方法。
现在我们假设Foo类有一个Bar实例作为参数的构造函数,然后对Foo的该有参数的构造函数使用@Inject进行注解,那么此时RoboGuice会使用该带有参数的构造函数进行实例化。下面看下实现:
- class Foo {
- Bar bar;
- @Inject
- public Foo(Bar bar) {
- this.bar = bar;
- }
- }
(三)使用变量字段注解
上面我们已经通过默认构造函数或者使用@Inject注解的带参数构造函数来进行获取了Foo实例。然而我们还可以使用这两种方法结合着来初始化变量。那就是使用Field injection.
前面几篇文章中我们已经对View空间,资源文件(Resources)的注解方法,现在我们可以在Foo类中添加属性字段的注解来实现.
- class Foo {
- @Inject Bar bar;
- // Roboguice doesn't need a constructor, but you might...
- }
如果你使用Field或者Constructor,你可以浏览下面的网站来查看注解的详情信息:
http://code.google.com/p/google-guice/wiki/Injections
- 【五】注入框架RoboGuice使用:(Your First POJO Injection)
- 【五】注入框架RoboGuice使用:(Your First POJO Injection)
- 【二】注入框架RoboGuice使用:(Your First View Injection)
- 【三】注入框架RoboGuice使用:(Your First Resource Injection)
- 【四】注入框架RoboGuice使用:(Your First System Service Injection)
- 【二】注入框架RoboGuice使用:(Your First View Injection)
- 【三】注入框架RoboGuice使用:(Your First Resource Injection)
- 【三】注入框架RoboGuice使用:(Your First Resource Injection)
- 【四】注入框架RoboGuice使用:(Your First System Service Injection)
- 【十一】注入框架RoboGuice使用:(Your First Injection into a Custom View class)
- 【七】注入框架RoboGuice使用:(Your First Custom Binding)
- 【八】注入框架RoboGuice使用:(Your First Injected Fragment)
- 【十】注入框架RoboGuice使用:(Your First Testcase)
- 【十二】注入框架RoboGuice使用:(Your First Injected ContentProvider)
- 【九】注入框架RoboGuice使用:(Your First Injected Service and BroadcastReceiver)
- 【十四】注入框架RoboGuice使用总结
- 注入框架RoboGuice
- 注入框架RoboGuice
- 单链表(C实现)
- 1009. 说反话 (20)
- 实现C/S程序的自动更新2
- weblogic 服务开机自动启动
- 谈谈使用VFW在windows下编程控制摄像头(一)。 【孙涛】
- 【五】注入框架RoboGuice使用:(Your First POJO Injection)
- 数据压缩与信息熵
- 给我们自己一个空间—兄弟连IT教育
- IM类应用架构所需了解
- 使用java实现高中数学中自由组合
- UVa 442 ------ Matrix Chain Multiplication
- WIN8下在VBA中出现用户定义类型未定义错误
- CSS盒子模型
- 单片机通过串口传数据到c#程序出现的问题