android/Java编程中@Inject和/或@InjectView批注的和目的是什么?

我该如何使用?

提前致谢!

最佳答案

对于Android,这些注释是Roboguice framework的一部分。它们用于在Android环境中提供dependency injection

这使您可以直接注入(inject)所需资源的实例,无论它是基本的POJO, View 还是其他资源。这是来自RoboGuice wiki的POJO示例:

class MyActivity extends RoboActivity {
    @Inject Foo foo; // this will basically call new Foo();
}

这是一个琐碎的事情,但是从本质上讲,注入(inject)点是让您的类保持独立于创建/管理注入(inject)的Foo类的实例,而在这种情况下,通过调用Foo的默认构造函数将责任归于Foo本身。由于MyActivity不包含实际创建Foo本身的详细信息,因此可以通过诸如模拟之类的东西进行更轻松的测试。

关于java - Android @Inject和@InjectView注释的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32238638/

10-12 00:12
查看更多