Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用匕首进行2个活动的单个实例_Java_Android_Dagger 2 - Fatal编程技术网

Java 使用匕首进行2个活动的单个实例

Java 使用匕首进行2个活动的单个实例,java,android,dagger-2,Java,Android,Dagger 2,我不知道我是否做得很好。 如果我想在MainActivity和SecondActivity中使用一个实例coffeheloper, 我提出: -- 现在我可以在MainActivity和SecondActivity中写入以下内容: MyApplication.getCoffeeComponent().provideCoffe(this); 这是个好习惯吗 我的模块: @Module public class CoffeeProvider { @Provides @Single

我不知道我是否做得很好。
如果我想在
MainActivity
SecondActivity
中使用一个实例
coffeheloper

我提出:

--

现在我可以在MainActivity和SecondActivity中写入以下内容:

MyApplication.getCoffeeComponent().provideCoffe(this);
这是个好习惯吗

我的模块:

@Module
public class CoffeeProvider {

    @Provides
    @Singleton
    CoffeeHelper getCoffeeHelper(){
        return new CoffeeHelper();
    }

}

是的,
CoffeeHelper
的唯一实例将同时提供给
MainActivity
SecondActivity
,假设它们具有这样的声明:
@Inject CoffeeHelper
。由于,将返回唯一的实例,而
@Singleton
是dagger-2作用域注释

这是一种好的做法吗


这很有问题,而且大部分是基于观点的,但这是非常常见的模式,除非你使用专为android使用而设计的dagger模块(它提供了
AndroidJector
和其他便利)。

请展示
咖啡供应商的内部
@Module
-注释类OK,完成,检查请不要破坏你的帖子。通过在Stack Exchange网络上发布,您已授予SE分发该内容的不可撤销的权利(根据)。根据SE政策,任何破坏行为都将被恢复。好的,对不起,我喝醉了,让我们恢复我的帖子
MyApplication.getCoffeeComponent().provideCoffe(this);
@Module
public class CoffeeProvider {

    @Provides
    @Singleton
    CoffeeHelper getCoffeeHelper(){
        return new CoffeeHelper();
    }

}