今天看一个是实现模糊图片的项目StackBlur的时候,看到类似依赖注入的写法,觉得有点好奇,翻开osc,果然有,原来叫RoboGuice,于是乎我去把几个包下下来试试了
其实很简单,把guice-3.0-no_aop.jar,roboguice-2.0.jar,javax.inject.jar(估计这个看需要,感觉像J2EE方面的)导入,将activity继承RoboActivity,然后可以开始写成:
public class MainActivity extends RoboActivity {
@InjectView(R.id.title) TextView titleTextView;
@InjectView(R.id.img) ImageView imageView;
@InjectResource(R.drawable.ic_launcher) Drawable drawable;
@InjectResource(R.string.grace) String titleString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
titleTextView.setText(titleString);
imageView.setBackgroundDrawable(drawable);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
@InjectView 注入你需要的控件id,@InjectResource注入你的资源文件,包括图片,文字等等,当然还有@Inject 可以注入服务,接口等等,当然还有很多用法,博大精深,自己还没来得及看,先看到这里,感觉代码清爽多了,可以让我们不去纠结初始化,而全新全意做交互功能。
无图说个杰宝
有两篇文章,当然也是osc上提到的,mark一下,引路蜂这个感觉不错,很详细的,以后好好研究
http://www.imobilebbs.com/wordpress/archives/2480
最后把这几个包下载地址附上
http://pan.baidu.com/share/link?shareid=3110698141&uk=2231496695
欧了