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

相关文章
|
6月前
|
IDE API 开发工具
Google I/O :Android Jetpack 最新变化(四)Compose
Google I/O :Android Jetpack 最新变化(四)Compose
233 0
|
6月前
|
JSON IDE 测试技术
Google I/O :Android Jetpack 最新变化(二) Performance
Google I/O :Android Jetpack 最新变化(二) Performance
210 0
|
6月前
|
SQL API Android开发
Google I/O :Android Jetpack 最新变化(一) Architecture
Google I/O :Android Jetpack 最新变化(一) Architecture
139 0
|
6月前
|
Android开发
如何在Android真机上检测是否有Google Map add-on
如何在Android真机上检测是否有Google Map add-on
73 3
|
2月前
|
编译器 Android开发 开发者
带你了解Android Jetpack库中的依赖注入框架:Hilt
本文介绍了Hilt,这是Google为Android开发的依赖注入框架,基于Dagger构建,旨在简化依赖注入过程。Hilt通过自动化的组件和注解减少了DI的样板代码,提高了应用的可测试性和可维护性。文章详细讲解了Hilt的主要概念、基本用法及原理,帮助开发者更好地理解和应用Hilt。
80 8
|
2月前
|
API Android开发 iOS开发
掌握安卓与iOS应用开发中的依赖注入技术
本文探讨了在安卓和iOS应用开发中,如何有效利用依赖注入技术来提升代码的模块化、可测试性和可维护性。通过对比分析两种平台下依赖注入的实现方式与工具,本文旨在为开发者提供一套清晰、实用的依赖管理策略,助力打造高质量软件产品。
|
3月前
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
120 1
|
4月前
|
存储 数据库 Android开发
🔥Android Jetpack全解析!拥抱Google官方库,让你的开发之旅更加顺畅无阻!🚀
【7月更文挑战第28天】在Android开发中追求高效稳定的路径?Android Jetpack作为Google官方库集合,是你的理想选择。它包含多个独立又协同工作的库,覆盖UI到安全性等多个领域,旨在减少样板代码,提高开发效率与应用质量。Jetpack核心组件如LiveData、ViewModel、Room等简化了数据绑定、状态保存及数据库操作。引入Jetpack只需在`build.gradle`中添加依赖。例如,使用Room进行数据库操作变得异常简单,从定义实体到实现CRUD操作,一切尽在掌握之中。拥抱Jetpack,提升开发效率,构建高质量应用!
70 4
|
3月前
|
监控 Java 开发工具
### 绝招揭秘!Android平台GB28181设备接入端如何实现资源占用和性能消耗的极限瘦身?
【8月更文挑战第14天】本文介绍在Android平台优化GB28181标准下设备接入的性能方法,涵盖环境搭建、SDK集成与初始化。重点讲解内存管理技巧如软引用、按需加载资源,以及通过硬件加速解码视频数据和图像缩放来减轻CPU与GPU负担。同时采用线程池异步处理视频流,确保UI流畅性。这些策略有助于提高应用效率和用户体验。
47 0
|
3月前
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
277 0
下一篇
无影云桌面