本文转自:http://blog.csdn.net/sangming/article/details/8878104

RoboGuice 使用谷歌自己的Guice库,给Android带来了简单和易用的依赖注入。如果你使用过Spring或Guice的话,你可能已经知道这种编程方式是多么的便捷。

RoboGuice 允许使用annotation 的方式来描述id于View之间的关系,其余的工作由roboGuice库来完成。比如:

[java] view plain copy
  1. classAndroidWayextendsActivity{
  2. TextViewname;
  3. ImageViewthumbnail;
  4. LocationManagerloc;
  5. Drawableicon;
  6. StringmyName;
  7. publicvoidonCreate(BundlesavedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. name=(TextView)findViewById(R.id.name);
  11. thumbnail=(ImageView)findViewById(R.id.thumbnail);
  12. loc=(LocationManager)getSystemService(Activity.LOCATION_SERVICE);
  13. icon=getResources().getDrawable(R.drawable.icon);
  14. myName=getString(R.string.app_name);
  15. name.setText("Hello,"+myName);
  16. }
  17. }

如果使用roboguice 来写:

[java] view plain copy
  1. classRoboWayextendsRoboActivity{
  2. @InjectView(R.id.name)TextViewname;
  3. @InjectView(R.id.thumbnail)ImageViewthumbnail;
  4. @InjectResource(R.drawable.icon)Drawableicon;
  5. @InjectResource(R.string.app_name)StringmyName;
  6. @InjectLocationManagerloc;
  7. publicvoidonCreate(BundlesavedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. name.setText("Hello,"+myName);
  11. }
  12. }


只需使用@InjectView 来描述 view 和Id之间的关系,RoboGuice 自动完成余下的工作,代码简洁易读。


注意:activity必须继承自RoboActivity


收集到的一些资料:github有资料和源码https://github.com/roboguice/roboguice

中文的资料:http://daimajishu.iteye.com/blog/1610501

更多相关文章

  1. android 截取验证码的两种实现方式
  2. Android中程序与Service交互的方式
  3. Android入门(4) 布局、JUnit、日志与数据存储访问方式
  4. Android实现TextView中文字链接的4种方式介绍及代码
  5. 以Android Library的方式使用 for
  6. Android推送方式比较
  7. Android两种数据库操作方式入门介绍
  8. Android窗口系统第三篇---WindowManagerService中窗口的组织方式

随机推荐

  1. Android之父Andy Rubin访谈录
  2. Android Studio 混淆jar包
  3. Android下Activity全屏显示实现方法
  4. Android(安卓)apk 学习笔记 --- Android(
  5. android开发之EditText的属性说明
  6. ViewDragHelper与Transition的示例代码
  7. Android把activity设置为窗口样式怎么去
  8. Android系统中的广播(Broadcast)机制注册注
  9. 我的android 第16天 - SQLite数据库
  10. Android content provider基础与使用