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();
}
}