Android依赖注入:Google Guice on Android的使用及相关资源

简介: 本文转自:http://blog.csdn.net/sangming/article/details/8878104 RoboGuice 使用谷歌自己的Guice库,给Android带来了简单和易用的依赖注入。

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

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

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

[java] view plain copy
  1. class AndroidWay extends Activity {  
  2.  TextView name;  
  3.  ImageView thumbnail;  
  4.  LocationManager loc;  
  5.  Drawable icon;  
  6.  String myName;  
  7.   
  8.  public void onCreate(Bundle savedInstanceState) {  
  9.  super.onCreate(savedInstanceState);  
  10.  setContentView(R.layout.main);  
  11.  name      = (TextView) findViewById(R.id.name);  
  12.  thumbnail = (ImageView) findViewById(R.id.thumbnail);  
  13.  loc       = (LocationManager) getSystemService(Activity.LOCATION_SERVICE);  
  14.  icon      = getResources().getDrawable(R.drawable.icon);  
  15.  myName    = getString(R.string.app_name);  
  16.  name.setText( "Hello, " + myName );  
  17.  }  
  18. }  

如果使用roboguice 来写:

[java] view plain copy
  1. class RoboWay extends RoboActivity {  
  2.  @InjectView(R.id.name)             TextView name;  
  3.  @InjectView(R.id.thumbnail)        ImageView thumbnail;  
  4.  @InjectResource(R.drawable.icon)   Drawable icon;  
  5.  @InjectResource(R.string.app_name) String myName;  
  6.  @Inject                            LocationManager loc;  
  7.   
  8.  public void onCreate(Bundle savedInstanceState) {  
  9.  super.onCreate(savedInstanceState);  
  10.  setContentView(R.layout.main);  
  11.  name.setText( "Hello, " + myName );  
  12.  }  
  13. }  


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


注意:activity必须继承自RoboActivity


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

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

相关文章
|
3月前
|
IDE API 开发工具
Google I/O :Android Jetpack 最新变化(四)Compose
Google I/O :Android Jetpack 最新变化(四)Compose
102 0
|
3月前
|
JSON IDE 测试技术
Google I/O :Android Jetpack 最新变化(二) Performance
Google I/O :Android Jetpack 最新变化(二) Performance
112 0
|
3月前
|
SQL API Android开发
Google I/O :Android Jetpack 最新变化(一) Architecture
Google I/O :Android Jetpack 最新变化(一) Architecture
68 0
|
6月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
146 0
|
7月前
|
传感器 安全 Android开发
Google发布 Android 12 开发预览版
Google发布 Android 12 开发预览版
84 1
|
3月前
|
API Android开发
Google I/O :Android Jetpack 最新变化(三)UI
Google I/O :Android Jetpack 最新变化(三)UI
49 0
|
6月前
|
JavaScript Java 开发工具
Cocos Creator Android 平台接入 Google Firebase (Analytics功能)(二)
Cocos Creator Android 平台接入 Google Firebase (Analytics功能)
155 0
|
2月前
|
JavaScript 前端开发 定位技术
如何正确学习GEE(Google Earth Engine)?含学习资源链接
如何正确学习GEE(Google Earth Engine)?含学习资源链接
47 0
|
8月前
|
Java Android开发
Android 保存资源图片到相册最新写法适用于Android10.0及以上
Android 保存资源图片到相册最新写法适用于Android10.0及以上
583 0
|
8月前
|
编解码 监控 前端开发
Android平台GB28181设备接入端如何降低资源占用和性能消耗
Android平台GB28181设备接入端如何降低资源占用和性能消耗?