Android和dependency injection
我一直在环顾四周,了解在Android开发中使用dependency injection容器的一些信息。 具体来说,如何重写创build一个Activity
的方式,也将工作时回来被杀害(不pipe什么原因)。
有没有人有这方面的经验?
看来你可以使用Google Guice 2.0和Android。 你也可以看看roboguice 。
编辑:
Spring现在也适用于Android
编辑: Roboguice现已被弃用。 你可以试试牙签背后的开发者的评论中提到的牙签。
最适合的Androiddependency injection库是Dagger by Square 。 Spring和Guice都是为Java应用程序devise的,而不是Android。 如果你唯一的要求是简单的依赖pipe理,Dagger是最好的select,并且有JSR-330的支持。
你可能也想考虑Spring ME 。 尽pipe最初用于Java ME,但我也看到了人们使用Android的报告。 好处是你有一个熟悉的编程模型(Spring),没有惩罚:Spring ME有0k的占用空间。
如果您习惯在其他项目中使用Spring,那么对于Android的Spring (它只是一个支持Auth支持的REST库), Spring ME (完全不同的工作stream和简化的特性集)或Tiny Spring (例如Spring – 像configuration)。
你可以给我的项目RoboSpring一试。 从描述:
RoboSpring是Android平台的Spring框架(真正的)端口。 此外,它还提供了对RoboGuice引入的function的初步支持,例如将视图引用注入活动等。 RoboSpring是基于3.1.0版本发布的Spring核心,bean,上下文和aop组件。 它提供了以下function:
- 使用Springconfiguration文件(XML)configuration应用程序组件
- 使用Spring应用程序上下文中的bean自动装载您的Android组件。
- 将Android应用程序上下文注入到Spring Bean中。
- 将视图注入活动。
- … 和更多
还有一个新的Android的Spring项目: Tiny Spring 。 它解决了XMLconfiguration的基础知识,但并没有做到Spring所做的一切。