我正在尝试使用 Dagger 学习依赖注入。
我知道在您的类中,您不会直接实例化客户端代码所依赖的对象,而是使用@Inject 声明它,通过模块创建 ObjectGraphs,并从 ObjectGraph 中获取对象:
@Inject CoffeeMaker coffeeMaker;
public static void main(String[] args) {
ObjectGraph objectGraph = ObjectGraph.create(new DripCoffeeModule());
CoffeeApp coffeeApp = objectGraph.get(CoffeeApp.class);
....
}
但是,所有这些代码现在都取决于您用于创建 ObjectGraph 的模块(在此示例中为 DripCoffeeModule)。
现在我想在我的 Android 应用程序中使用它。对于调试版本,我想要我的类的特定实现,对于发布版本,实现会有所不同。
我该怎么做?如何设置 build.xml ant 脚本以使模块提供我想要的特定实现?(或选择正确的模块)...
谢谢你。